Python 美化组在Django视图上速度较慢,但局部正常
我正在Django视图中使用BeautifulSoup进行web抓取,以获取一些img src并在我的页面上显示它们。我的问题是:当我在Jupyter笔记本中执行代码时,执行此任务所需的时间不到1秒,但当我在django视图中执行此任务时,所需的时间不超过10秒(取决于查询) 这是我的密码:Python 美化组在Django视图上速度较慢,但局部正常,python,django,performance,beautifulsoup,Python,Django,Performance,Beautifulsoup,我正在Django视图中使用BeautifulSoup进行web抓取,以获取一些img src并在我的页面上显示它们。我的问题是:当我在Jupyter笔记本中执行代码时,执行此任务所需的时间不到1秒,但当我在django视图中执行此任务时,所需的时间不超过10秒(取决于查询) 这是我的密码: from bs4 import BeautifulSoup import requests import re try: import urllib.request as urllib2 excep
from bs4 import BeautifulSoup
import requests
import re
try:
import urllib.request as urllib2
except ImportError:
import urllib2
import time
import json
def get_soup(url,header):
return BeautifulSoup(urllib2.urlopen(urllib2.Request(url,headers=header)),'html.parser')
def get_images(query):
start_time = time.time()
url="https://www.google.co.in/search?q="+query+"&source=lnms&tbm=isch"
header={'User-Agent':"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36"
}
soup = get_soup(url,header)
print("--- %s seconds ---" % (time.time() - start_time))
start_time = time.time()
ActualImages=[]# contains the link for Large original images, type of image
for a in soup.find_all("div",{"class":"rg_meta"}):
link =json.loads(a.text)["ou"]
ActualImages.append(link)
print("--- %s seconds ---" % (time.time() - start_time))
dic = {'images': ActualImages[:10]}
return dic
get_images('thunder')
问题在于运行“get_soap()”函数时。这正常吗?有什么想法可以让它更快吗?您的django服务器在本地和Jupyter一样运行吗?是的!我正在用'manage.py runserver'运行django,也许你也应该发布你的视图代码。这两个函数都在我的视图中。py,计时器不计算整个过程的时间,只计算“get_soup”函数所需的时间。