为request.get指定允许的用户代理,但仍然拒绝访问403

问题描述

我无需登录即可访问页面https://zozo.jp/shop/auntierosa/goods/50202474/?did=81429464&rid=1068)。但是,requests.get(url)返回状态码403。

我指定了帖子Scraper in Python gives “Access Denied”所指出的允许的用户代理,但是requests.get(url)仍然拒绝访问。

下面是我的MWE。

import requests
    
url = 'https://zozo.jp/shop/auntierosa/goods/50202474/?did=81429464&rid=1068'
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/84.0.4147.125 Safari/537.36'}
response = requests.get(url,headers=headers)
if response.status_code != 200:
    print("status code in requests: {status_code}".format(status_code = response.status_code))

更新

我也尝试过urllib.request

from urllib.request import Request,urlopen

url = 'https://zozo.jp/shop/auntierosa/goods/50202474/?did=81429464&rid=1068'
headers = {'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/84.0.4147.135 Safari/537.36"}
req = Request(url,headers=headers)
f = urlopen(req)
status_code = f.getcode()   # return 200

它在一开始就起作用,但过了一会儿,它又返回了stuts代码403。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)