我正在使用SoupStrainer来提高速度。 没有它,大约需要12秒钟。 而且使用SoupStrainer也会花费12秒。
我真的是python新手,想知道我做错了什么。
from bs4 import BeautifulSoup
from bs4 import SoupStrainer
from contextlib import closing
from requests import get
from requests.exceptions import RequestException
import time
def simple_get(url):
try:
with closing(get(url, stream=True, headers = {"Accept-Language": "en-US,en;q=0.5"})) as resp:
return resp.content
except RequestException as e:
return None
if __name__ == "__main__":
url = "https://www.youtube.com/watch?v=UGRcJQ9tMbY"
raw_html = simple_get(url)
bs4_video_list_item_filter = SoupStrainer(class_="video-list-item")
start = time.time()
html = BeautifulSoup(raw_html, "lxml", parse_only=bs4_video_list_item_filter) #, 'html.parser')
print("BeautifulSoup ", time.time()-start)
我真的希望有人能帮助加快速度,因为我需要像20.000一样。
答案 0 :(得分:0)
仅解析文档的一部分不会节省您解析文档的大量时间,但是它可以节省大量内存,并且可以使搜索更快。
因此,在使用SoupStrainer
解析文档时,您实际上不会获得任何速度。