【问题标题】:Scraping Stack Overflow with BeautifulSoup returns nothing使用 BeautifulSoup 抓取 Stack Overflow 不会返回任何结果
【发布时间】:2021-11-27 04:25:43
【问题描述】:

我这里有以下代码:

url = f"https://stackoverflow.com/search?q=%22python+help%22"
async def scrape():
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as r:
            soup = BeautifulSoup(await r.read(), features="lxml")

    questions = soup.findAll("div", {"class": "flush-left js-search-results"})[0]

asyncio.run(scrape())

但它会返回一个IndexError 用于提问。尽管当我检查页面时,它显然有一个 divflush-left js-search-results

【问题讨论】:

  • 这可能是因为页面是动态的,内容是动态生成的或从多个来源加载的。你最好直接访问它的 API。见thisthis
  • 太频繁了,你也会被封号。

标签: python web-scraping python-asyncio


【解决方案1】:

你可以下载整个stackoverflow数据库,here

或者使用 cmets 中提到的 APi。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    相关资源
    最近更新 更多