我在尝试使用requests访问亚马逊时,遇到了以前从未遇到过的奇怪行为。
看一看我最初用来访问网站的代码
from bs4 import BeautifulSoup
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Mobile Safari/537.36'
}
url = "https://www.amazon.com"
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.content, "html.parser")在我得到的答复中,有一条评论说:
关于自动访问亚马逊数据的
,请联系api-services-support@amazon.com。有关迁移到API的信息,请参阅https://developer.amazonservices.com/ref=rm_c_sv的Marketplace,或https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html/ref=rm_c_ac的产品广告API,以了解广告用例。
现在,我无法解释的部分是,当我在headers中传递一些无稽之谈时,我可以很好地访问页面。见下面的例子
headers = {
'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Mobile Safari/537.36',
'some': 'nonsense'
}为什么这个无意义的参数需要传入headers才能访问亚马逊,并且没有这个无意义的参数就可以访问它呢?
发布于 2022-09-30 21:53:56
我也遇到了同样的问题,我在html中得到了与html页面不同的文本,但是当我在页眉中添加了“一些”:“一派胡言”时,它工作得很好。我假设他们只使用用户代理过滤请求。
关于自动访问亚马逊数据的
,请联系api-services-support@amazon.com。有关迁移到API的信息,请参阅https://developer.amazonservices.com/ref=rm_c_sv的Marketplace,或https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html/ref=rm_c_ac的产品广告API,以了解广告用例.
https://stackoverflow.com/questions/69858913
复制相似问题