【问题标题】:boilerpy3 returns HTTP Error 403: Forbidden锅炉py3返回HTTP错误403:禁止
【发布时间】:2020-11-20 16:24:01
【问题描述】:

在使用提取器的 BoilerPy3 中,在某些网站上我收到“HTTP 错误 403:禁止访问”。查看代码,它看起来像调用 urllib 并且只会获取没有标题的 url。我该如何解决这个问题?

也许有人可以创建一个“boilerpy”标签?

from boilerpy3 import extractors
extractor = extractors.ArticleExtractor()

url = 'https://www.enca.com/south-africa/benghazi-hospital-security-tightened-following-car-bombing'
try:
    doc = extractor.get_doc_from_url(url)
except HTTPError as e:
    print (e)

【问题讨论】:

    标签: python web-scraping http-error


    【解决方案1】:

    与其尝试修改 urllib 调用,不如自己处理请求更容易,例如使用requests 库,然后使用结果调用BoilerPy3。例如:

    import requests
    from boilerpy3 import extractors
    
    
    headers = {
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/50.0.2661.102 Safari/537.36'
    }
    url = 'https://www.enca.com/south-africa/benghazi-hospital-security-tightened-following-car-bombing'
    extractor = extractors.ArticleExtractor()
    
    resp = requests.get(url, headers=headers)
    if resp.ok:
        doc = extractor.get_content(resp.text)
    else:
        raise Exception(f'Failed to get URL: {resp.status_code}')
    

    这应该会按预期为您提供文本。

    【讨论】:

    • 非常感谢!目前,我的赞成票没有登记。
    猜你喜欢
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 2017-12-15
    • 2021-06-17
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    相关资源
    最近更新 更多