羽中飞人 2021-05-28 19:50 采纳率: 51.1%
浏览 250
已采纳

python爬取网站被识别如何解决

爬取一个医药电商网站,爬取几页后,就不能获取到数据,后面发现只要把参数里的token手动更新一下,就又可以继续爬取,但过段时间又不能获取了,重复往返,很是烦人

代码缩减如下,异步获取第100类,供应商编号为2447,页码为1的商品数据

url = 'https://dian.ysbang.cn/wholesale-drug/sales/getWholesaleList/v4270'
ysb_cookies = {"__guid": "140493094.3233647003393036000.1603696496870.0378", "Token": "a8e89ec3b1174c72ada65a5ca1b63470"}
headers =  { "User-Agent": "Mozilla/5.0(WindowsNT10.0;WOW64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/86.0.4240.198Safari/537.36"}
param = {'classify_id': 100, 'pagesize': '60', 'page': 1, 'provider_id': 2447, 'token': 'a8e89ec3b1174c72ada65a5ca1b63470'}
res = requests.post(url, headers=headers, cookies=ysb_cookies, data=json.dumps(param), timeout=10)
res.raise_for_status()
res.encoding = res.apparent_encoding
root_data = res.json()['data']
raw_datas = root_data['wholesales']


关于自动获取token,本人通过requests自动登录来获取cookies试过了,提示要手机短信验证码

所以如何能够自动获取token,或者能够得到找到计算token的逻辑,或者绕过token来获取数据呢

  • 写回答

3条回答 默认 最新

  • 家铭didphp 2021-05-29 09:10
    关注

    结合 selenium 库来操作。selenium 取到的 cookie 保存成文件,然后你这边 requests 请求的时候,去这个文件里读取最新的  token 值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事: