【发布时间】:2019-04-24 18:37:11
【问题描述】:
我正在尝试使用 BeautifulSoup 解析一些页面,但是对于某些链接,开启程序不起作用。这是开瓶器的代码:
class URLopener(urllib.request.FancyURLopener):
version = "Mozilla/5.0"
def http_error_default(self, url, fp, errcode, errmsg, headers):
if errcode == 403:
raise ValueError("403")
return super(URLopener, self).http_error_default(
url, fp, errcode, errmsg, headers
)
现在当它试图用这段代码打开和解析一些页面时:
opener = URLopener()
page = opener.open(url)
soup = BeautifulSoup(page.read(), features='lxml')
links = soup.findAll("a", href=True)
它工作正常。但是当它到达这样的链接时:
它突然停止并显示错误:
如何过滤搜索的页面以避免此问题?我不一定想要搜索结果中的所有页面。
【问题讨论】:
-
你可以试试
urllib.parse.unquote(url)
标签: python beautifulsoup python-requests web-crawler