RT ,我用 pyquery 爬知乎主页,然后因为貌似知乎主页是异步加载的(浏览器拉到底部,它就自动加载更多的条目),我只能获取大概 20 个问题。
请问怎么做能获取更多的问题呢?(点一下那个“更多”的按钮,然后就爬到更多的问题)
请问怎么做能获取更多的问题呢?(点一下那个“更多”的按钮,然后就爬到更多的问题)

1 cdwyd Jan 3, 2016 f12,点一下按钮,看请求 |
3 just1 Jan 3, 2016 via Android 其实跟 python 一点关系都没有,应该到问与答 |
4 just1 Jan 3, 2016 via Android 分析加载更多的请求,模拟就可以了 |
5 bdbai Jan 3, 2016 via iPhone f12,点一下按钮,看请求 |
6 vmebeh Jan 3, 2016 其实是 js 监听页面滚动,当滚动到页面底部时 ajax 请求更多内容添加到 dom 树 F12 查看 XHR 可破 |
7 saberlion Jan 3, 2016 via Android 爬知乎有很多程序 |
8 woorz Jan 3, 2016 知科有 api 的吧 |
10 ianisme Jan 3, 2016 抓他们的 APP 看看 |
11 cheneydog Jan 3, 2016 ajax 的更好做了 |
12 Caratpine Jan 3, 2016 补充一点 HTTP 协议相关的知识,如 1 , 6 楼所说打开开发者工具,看看异步加载时,发生的 HTTP 请求。  |
14 geekqiao Jan 3, 2016 首页的内容是 post 到“ https://www.zhihu.com/node/TopStory2FeedList ”, 带有表单数据: params , method 和_xsrf 。 |
15 7sDream Jan 3, 2016 https://github.com/7sDream/zhihu-py3 随便看一个需要异步加载的内容是咋获取的。 比如 answer 的 upvoter 函数,稍微看一下应该就会啦。 (另外,「不想看别人写的」这个想法稍微有点走偏了呀~~其实提问和看代码没有本质不同呐) |
16 wowpanda OP @7sDream 哈哈,我的意思是想尽量通过提问或者资料来思考怎么写,要不然一上来就看别人写的代码总觉得是不是偷懒的行为。另外,我也是卡在了爬主页上,所以就没有考虑去看 upvoter 是怎么弄得,^_^) |
17 wd0g Jan 3, 2016 一般的都有规,你越往下拉某个参数的值越大或越小 自己多拉几次页面,对比下 URL 就知道了 |
18 lixiaohan Jan 4, 2016 都是有规则的请求 应该是 offset 变化 你可以模拟一下 |
19 waner55 Jan 6, 2016 |