设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 4990|回复: 3
打印 上一主题 下一主题

最近知乎的api发生了变化, 无法获得dict数据了, 求助.

[复制链接]

16

主题

1

好友

244

积分

中级会员

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2022-1-25 19:23:39 |显示全部楼层 |倒序浏览
本帖最后由 anyone 于 2022-1-25 19:24 编辑

api的地址似乎没有变化,

地址还是:
  1. https://www.zhihu.com/api/v4/questions/{问题号码}/answers
复制代码
cookies 我一直是直接拷贝 chrome network中的cookies, 做一些简单的处理, 让其变成dict, 然后传入requests

头部使用:
  1. {
  2.                         'Host': "www.zhihu.com",
  3.                 'Origin': "http://www.zhihu.com",
  4.                 'Pragma': "no-cache",
  5.                 'Referer': "http://www.zhihu.com/"
  6.                 }
复制代码
以前这样就能爬出他的答案数据了. 可是从这两天开始, 就不行了, 总是反馈:
  1. {"error":{"message":"请求参数异常,请升级客户端后重试","code":10003}}
复制代码
我在chrome的inspect中是可以看到答案数据的. 但是python中就不行.  
也尝试了将chrome的完整头部传输到requests中, 也是同样的错误提示?

似乎他们做了防爬处理? 请大神帮忙看看, 还有没有可能爬出答案?

非常感谢.



回复

使用道具 举报

16

主题

1

好友

244

积分

中级会员

Rank: 3Rank: 3

沙发
发表于 2022-1-26 16:32:07 |显示全部楼层
我对比了一下chrome里面的request, 发现:

如果是在同一个登录窗口中, 每次不同页面的请求会有一个头产生变化:

"x-zse-96" 和  "x-zst-81":

如果是换了一个未登录知乎的窗口, 问题也能正常显示, 但请求头除了上面两个发生变化之外, 还有下面两个也变了

"x-ab-param" 和 "x-ab-pb"

上述的4个头参数的值都是类似口令似的无规律的,

请问这些头是怎么生成的呢?
如果不方便案例分析, 不知道哪里可以有相关教程我可以自己学习一下?

感谢.


回复

使用道具 举报

16

主题

1

好友

244

积分

中级会员

Rank: 3Rank: 3

板凳
发表于 2022-1-26 22:22:11 |显示全部楼层
感谢你的回复, 其中2种可能的总结给我了一些思路. 不过我是个编程小白, 勉强用用python的浅显功能, 估计暂时还达到不了做这个事情的水平.

目前我也在想另外一个思路, 有没有headless的浏览器, 在其中模拟滚动页面, 直到页面底部. 然后在html中萃取需要的数据.

不知道 @crossin先生 有什么可以推荐的headless的爬虫方案吗? 万分感谢.
回复

使用道具 举报

16

主题

1

好友

244

积分

中级会员

Rank: 3Rank: 3

地板
发表于 2022-1-27 01:43:11 |显示全部楼层
本帖最后由 anyone 于 2022-2-26 15:35 编辑

找到了几篇讨论这个事情的文章, 留此存档.

最新!Python爬虫爬取知乎文章内容(解决最新js反爬2021.8)_酒鬼考拉的博客-CSDN博客_爬虫爬文章
https://blog.csdn.net/weixin_51962852/article/details/119536986

有读者让我爬逼乎,是我大意了...(2021年知乎最新爬虫)_Kuls-CSDN博客
https://blog.csdn.net/qq_3654753 ... c_relevant_antiscan

新版知乎x-zse-86加密破解分析_一只不会爬的虫子-CSDN博客
https://blog.csdn.net/weixin_40352715/article/details/107546166

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-4 10:37 , Processed in 0.015678 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部