在Django视图上,BeautifulSoup速度较慢,但局部正常

2024-06-09 09:03:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Django视图中使用BeautifulSoup进行web抓取,以获取一些img src并在我的页面上显示它们。我的问题是:当我在Jupyter Notebook中执行代码时,执行此任务所需的时间不到1秒,但当我在django视图中执行此任务时,所需的时间不到10秒(取决于查询)。你知道吗

这是我的密码:

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\u soap()”函数时。这正常吗?有什么办法让它快点吗?你知道吗


Tags: import视图jsonurlgettime时间link