某些网站会判断请求来源(人为操作或者工具脚本),如亚马逊,若直接发送请求,会报错,所以需在headers中加入浏览器类型
# coding:utf-8 import requests def jdlhm(url): try: kv = {'user-agent': 'Mozilla/5.0'} r = requests.get(url, headers=kv) r.raise_for_status() r.encoding = r.apparent_encoding print(r.status_code) print(r.request.headers) print(r.request.url) # 发送的url print(r.text) except: print("Error") jdlhm("https://www.amazon.cn/")
不过亚马逊仍会检测是否非人为操作,这块内容后续看看有没有办法解决