python_zhihu icon indicating copy to clipboard operation
python_zhihu copied to clipboard

一次请求只有10条

Open bravolover520 opened this issue 8 years ago • 19 comments

bravolover520 avatar Nov 18 '16 08:11 bravolover520

再说详细一点?哪部分的问题?

baif666 avatar Dec 10 '16 01:12 baif666

@baif666 你这个里面 每次只能抓十个用户的数据,看了下代码,貌似没找着这个十个用户是在哪控制的

tss12 avatar Dec 10 '16 02:12 tss12

我也不是最初作者,我尽量给你看看吧

baif666 avatar Dec 10 '16 02:12 baif666

@baif666 好啊 你帮看看

tss12 avatar Dec 10 '16 02:12 tss12

理论上最多只出现排名前15的答案

baif666 avatar Dec 11 '16 08:12 baif666

如果不够的话,应该都会显示,多于15条答案,只显示前15个,不应该只显示10条,你遇到什么情况了?

baif666 avatar Dec 11 '16 08:12 baif666

@tss12 原作者的方法一次最多爬取10条答案,不知道原作者怎么想的,我也不好改,等原作者出面可能能处理

baif666 avatar Dec 12 '16 09:12 baif666

其实是知乎的原因,知乎只加载了十条数据,后面的都是js生成的,所以获取不到

发自网易邮箱大师 在2016年12月12日 17:37,白帆 fan bai 写道:

@tss12 原作者的方法一次最多爬取10条答案,不知道原作者怎么想的,我也不好改,等原作者出面可能能处理

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

tss12 avatar Dec 12 '16 09:12 tss12

原来如此

baif666 avatar Dec 12 '16 09:12 baif666

话说你是怎么知道的啊 @tss12

baif666 avatar Dec 12 '16 09:12 baif666

我看了知乎的页面加载

发自网易邮箱大师 在2016年12月12日 17:42,白帆 fan bai 写道:

话说你是怎么知道的啊 @tss12

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.

tss12 avatar Dec 12 '16 09:12 tss12

简书上有人问了同样的问题,在这里,我先提供一个方向,就是每个答案下都有一个“更多”按钮,找到点击更多按钮时,浏览器时如何请求服务器的

我试了下,请求大概是这样: reqeust: https://www.zhihu.com/node/QuestionAnswerListV2 fromdata: method:next params:{"url_token":48264708,"pagesize":10,"offset":20}

你们可以试试,有问题可以过来探讨

如果有时间,我会尽快解决,最近有点忙。。

如果你们解决了,欢迎提交给我。。

ladingwu avatar Dec 14 '16 05:12 ladingwu

@tss12 @baif666

ladingwu avatar Dec 14 '16 05:12 ladingwu

@ladingwu 没大看懂你写的那段代码是什么意思

baif666 avatar Dec 15 '16 11:12 baif666

@baif666 那是我在浏览器上,点击知乎答案的页面“加载更多” 按钮的时候,浏览器的动作....你可以在电脑上测试下

ladingwu avatar Dec 16 '16 01:12 ladingwu

咋看到的啊?有什么插件吗?

baif666 avatar Dec 16 '16 05:12 baif666

@baif666 .直接用chrome浏览器,打开开发者调试界面,为了防止知乎自动加载,你把网络关掉试试,就能看到“加载更多”的按钮了,然后点击它,观察浏览器的动作....用python模拟一下试试

ladingwu avatar Dec 16 '16 11:12 ladingwu

好的,我试试 @ladingwu 我之前都用的火狐

baif666 avatar Dec 17 '16 02:12 baif666

@ladingwu 说的没错,Python获取动态加载的数据这块好像主要都是 模拟请求来获得数据,具体实现目前还没尝试过,不知有模拟过的没

tss12 avatar Sep 08 '17 08:09 tss12