【发布时间】:2020-03-06 02:11:31
【问题描述】:
我的 webscraper 中有以下代码:
postbody = {'Submit': {}, 'czas_kon2': '', 'czas_pocz2': '', 'num_pacz': '', 'typ': 'wsz'}
post = requests.post(spolka, data=postbody)
data = post.text
我在一个循环中执行超过 400 个网页,以使用多处理(8 个进程)抓取数据。
data 应该包含整个 html 页面以进行进一步的 xml 处理。
但是在 400 页中,我得到了 2 页没有返回有意义的内容。我怀疑这是因为我创造了沉重的负担。我试过time.sleep(1), time.sleep(10),但没有运气。
如何确保 data 或 post 变量始终包含整个页面,例如 398 个工作页面?
我尝试了简单的 while 循环进行重试......但在额外尝试一次之后,它远非完美(我能够从剩余的 2 页中获得 1 页)。
while len(data) < 1024:
postbody = {'Submit': {}, 'czas_kon2': '', 'czas_pocz2': '', 'num_pacz': '', 'typ': 'wsz'}
post = requests.post(spolka, data=postbody)
data = post.text
【问题讨论】:
标签: python-3.x web-scraping python-requests multiprocessing python-multiprocessing