boilerpy3返回HTTP错误403:禁止

2024-06-01 11:07:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用提取器的BoilerPy3中,在一些网站上,我得到了“HTTP错误403:禁止”。查看代码,它似乎调用了urllib,并且只获取不带标题的url。我该怎么做

也许有人可以创建一个“样板”标签

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)

Tags: 代码fromhttpurl标题doc网站错误
1条回答
网友
1楼 · 发布于 2024-06-01 11:07:19

与其试图修改urllib调用,不如自己处理请求,例如使用^{}库,然后使用结果调用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}')

这会让你得到预期的文本

相关问题 更多 >