请教一个 python 爬虫的小问题

2016 年 1 月 3 日
 wowpanda
RT ,我用 pyquery 爬知乎主页,然后因为貌似知乎主页是异步加载的(浏览器拉到底部,它就自动加载更多的条目),我只能获取大概 20 个问题。
请问怎么做能获取更多的问题呢?(点一下那个“更多”的按钮,然后就爬到更多的问题)
5338 次点击
所在节点    Python
19 条回复
cdwyd
2016 年 1 月 3 日
f12,点一下按钮,看请求
wowpanda
2016 年 1 月 3 日
@cdwyd 在下拉过程中,它就会自动加载更多的内容啊,这个怎么做?
just1
2016 年 1 月 3 日
其实跟 python 一点关系都没有,应该到问与答
just1
2016 年 1 月 3 日
分析加载更多的请求,模拟就可以了
bdbai
2016 年 1 月 3 日
f12,点一下按钮,看请求
vmebeh
2016 年 1 月 3 日
其实是 js 监听页面滚动,当滚动到页面底部时 ajax 请求更多内容添加到 dom 树
F12 查看 XHR 可破
saberlion
2016 年 1 月 3 日
爬知乎有很多程序
woorz
2016 年 1 月 3 日
知科有 api 的吧
wowpanda
2016 年 1 月 3 日
@saberlion 额, github 上没搜到爬主页的啊,另外我也想自己写,不太想看别人写的
ianisme
2016 年 1 月 3 日
抓他们的 APP 看看
cheneydog
2016 年 1 月 3 日
ajax 的更好做了
Caratpine
2016 年 1 月 3 日
补充一点 HTTP 协议相关的知识,如 1 , 6 楼所说打开开发者工具,看看异步加载时,发生的 HTTP 请求。
![zhihu]( http://i4.tietuku.com/e6bd5419681e5fca.png)
wowpanda
2016 年 1 月 3 日
@Caratpine 非常感谢
geekqiao
2016 年 1 月 3 日
首页的内容是 post 到“ https://www.zhihu.com/node/TopStory2FeedList ”,
带有表单数据: params , method 和_xsrf 。
7sDream
2016 年 1 月 3 日
https://github.com/7sDream/zhihu-py3

随便看一个需要异步加载的内容是咋获取的。

比如 answer 的 upvoter 函数,稍微看一下应该就会啦。

(另外,「不想看别人写的」这个想法稍微有点走偏了呀~~其实提问和看代码没有本质不同呐)
wowpanda
2016 年 1 月 3 日
@7sDream 哈哈,我的意思是想尽量通过提问或者资料来思考怎么写,要不然一上来就看别人写的代码总觉得是不是偷懒的行为。另外,我也是卡在了爬主页上,所以就没有考虑去看 upvoter 是怎么弄得,^_^)
wd0g
2016 年 1 月 3 日
一般的都有规,你越往下拉某个参数的值越大或越小
自己多拉几次页面,对比下 URL 就知道了
lixiaohan
2016 年 1 月 4 日
都是有规则的请求 应该是 offset 变化 你可以模拟一下
waner55
2016 年 1 月 6 日

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/247976

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX