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

最新更新