如何解决url open在某些网站上返回错误,而在其他网站上不返回
我正在尝试使用BeautifulSoup收集一些数据,同时查看示例,一些网站可以工作,而其他网站则不能。这是我遇到错误的示例代码。
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as uReq
page_url = "https://www.basspro.com/shop/en"
uClient = uReq(page_url)
这会返回很多错误,包括“ return opener.open(url,data,timeout)”
但是当我将URL更改为类似page_url = "https://store.google.com/"
时
效果很好。
有人可以帮助我了解发生了什么事吗?
解决方法
您需要与请求一起发送适当的标题。发送用户代理。
import requests
page_url = "https://www.basspro.com/shop/en"
headers = {'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/84.0.4147.89 Safari/537.36'}
res = requests.get(page_url,headers=headers)
print(res.status_code)
输出:
200
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。