【发布时间】:2020-11-10 02:58:27
【问题描述】:
我需要了解在使用 ThreadPoolExecutor 对页面进行迭代抓取时什么不起作用:
with ThreadPoolExecutor(max_workers=10) as executor:
with requests.Session() as req:
fs = [executor.submit(main, req, num) for num in range(1, 2050)]
allin = []
for f in fs:
f = f.result()
if f:
allin.extend(f)
print("\n", allin)
我想在特定链接的所有页面上抓取一些信息(标题、摘要和日期)。上面的代码提交了主派。我在运行时没有收到任何错误,但缺少新闻/页面。
import requests
from bs4 import BeautifulSoup
from concurrent.futures import ThreadPoolExecutor
import pandas as pd
def main(req, num):
r = req.get(
website+"/pag/{}/".format(num))
soup = BeautifulSoup(r.content, 'html.parser')
stories = soup.select("div.story-content-pull")
data = []
for story in stories:
row = []
row.append(story.select_one('a').text)
row.append(story.select_one('p').text.strip())
row.append(story.select_one('time').text)
data.append(row)
return data
如果您能告诉我代码中的问题,那将非常有帮助。
【问题讨论】:
标签: python web-scraping beautifulsoup threadpoolexecutor