gpt4 book ai didi

python - 加速 BeautifulSoup

转载 作者:太空宇宙 更新时间:2023-11-04 03:15:52 25 4
gpt4 key购买 nike

我正在使用 BeautifulSoup 在 for 循环中解析数千个网站。这是我的代码片段:

def parse_decision(link):
t1 = time.time()
decisionpage = urllib.urlopen(link)
t2 = time.time()
soup = BeautifulSoup(decisionpage.read(), 'lxml')
t3 = time.time()
# ...
# Parsing happens here and returns a pandas dataframe

因为代码需要很长时间才能运行,所以我开始调查原因,发现 BeautifulSoup 读取决策页面所花费的时间变化很大。以下是完成每个步骤所需的秒数片段:

    Element | t2-t1  |  t3-t2
1. | 0.073 | 60.023
2. | 0.096 | 0.005
3. | 0.096 | 60.016
4. | 0.064 | 0.006

正如您所见,尽管这些网站采用相同的格式并包含大致相同的信息,但大约每两个网站都需要 60 秒。网站是类似于此的法院判决: http://www.nycourts.gov/reporter/3dseries/2003/2003_17749.htm

有没有人知道为什么存在这种性能差异以及可能如何克服它?任何帮助将不胜感激。

最佳答案

慢的不是BeautifulSoup,而是decisionpage.read()

urllib.urlopen 返回一个套接字对象,实际的 http 请求发生在 .read()。因此,如果网络中某处存在瓶颈:您的 Internet 连接或远程网站速度较慢(或两者兼而有之)。

由于您受 I/O 限制并且拥有数千个网站,因此您可以通过同时运行多个线程来解析不同的网站来显着加快速度。

关于python - 加速 BeautifulSoup ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36318547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com