You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AsyncHtmlLoader无法正常抓取维基百科页面内容问题求助

AsyncHtmlLoader无法正常抓取维基百科页面内容问题求助

大家好,我最近在学习RAG相关内容,照着书上的代码用AsyncHtmlLoader抓取维基百科2023板球世界杯的页面,但遇到了问题——返回的不是页面实际内容,而是维基的机器人政策提示。我尝试加了agent相关的设置,但还是没解决,想请教下大家怎么处理这个问题?

我的代码如下:

from langchain_community.document_loaders import AsyncHtmlLoader

# This is the URL of the Wikipedia page on the 2023 Cricket World Cup
url="https://en.wikipedia.org/wiki/2023_Cricket_World_Cup"

loader = AsyncHtmlLoader(url)

html_data = loader.load()

print(html_data)

运行后的输出:

Fetching pages: 100%|####################################################################| 1/1 [00:00<00:00,  3.47it/s]

[Document(metadata={'source': 'https://en.wikipedia.org/wiki/2023_Cricket_World_Cup'}, page_content='Please respect our robot policy https://w.wiki/4wJS when crawling us. Contact bot-traffic@wikimedia.org if you need higher volumes. (b74d0e2) (30224bb)')]

问题分析

维基百科有严格的反爬机制,默认的AsyncHtmlLoader请求头没有模拟正常浏览器的访问,所以被识别成了爬虫,返回了机器人政策的提示信息。

可行的解决办法

  • 方法一:给AsyncHtmlLoader添加自定义请求头
    通过设置headers参数,模拟浏览器的User-Agent,让请求看起来更像正常用户访问:

    from langchain_community.document_loaders import AsyncHtmlLoader
    
    url="https://en.wikipedia.org/wiki/2023_Cricket_World_Cup"
    # 这里可以用任意主流浏览器的User-Agent,下面是Chrome的示例
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    }
    
    loader = AsyncHtmlLoader(url, headers=headers)
    html_data = loader.load()
    
    # 打印页面内容的前500字符验证
    print(html_data[0].page_content[:500])
    
  • 方法二:使用LangChain专门的WikipediaLoader
    LangChain提供了针对维基百科的专属加载器,它通过官方API获取内容,更稳定且不会触发反爬:

    from langchain_community.document_loaders import WikipediaLoader
    
    # 传入页面标题或者关键词,load_max_docs控制加载的文档数量
    loader = WikipediaLoader(query="2023 Cricket World Cup", load_max_docs=1)
    docs = loader.load()
    
    print(docs[0].page_content)
    

备注:内容来源于stack exchange,提问作者Muhammad Faizan Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.13 18:20:27