怎样爬取知乎的ajax内容?

【怎样爬取的ajax内容?】 也可以采用一些成熟的爬虫工具,比如在八爪鱼中ajax类型的数据获取,简单勾选下就好。
怎样爬取知乎的ajax内容?

不过目前数据的爬取有模板,直接设置关键词,ID等就可以获取到数据,非常的简单快捷。此外也提供api接口进行数据调取。
部分示例数据:
怎样爬取知乎的ajax内容?

详情请见:简易模板

■网友
直接回答:https://www.zhihu.com/node/ProfileFolloweesListV2详细回答:如 @TweLveAndOne 所说的那样,你可以用 Chrome 浏览器的开发者工具看到所有的请求,其中就包括 Ajax 的目标链接及其请求报文。比如查看题主所关注的人,先打开这个页面:https://www.zhihu.com/people/feng-xiong-53-25/followees。然后打开 Chrome 的开发者工具窗口,监控 Network(具体使用方法自己学习一下)。下拉页面,直到触发 ajax 请求获取下一页的用户列表(页面上显示为加载中),就能在开发者工具栏看到具体的请求链接(即 https://www.zhihu.com/node/ProfileFolloweesListV2),及相应的 request 和 response.如果用 Python 抓取数据,可以参考这两个项目:zhihu-python: https://github.com/egrcc/zhihu-pythonzhihu-py3: https://github.com/7sDream/zhihu-py3====================下面是广告时间,如无兴趣可以跳过。====================如果对 Go 有兴趣,也可以看我前段时间写的一个库,也参考学习了前面提到的两个 Python 库:zhihu-go: https://github.com/DeanThompson/zhihu-go
■网友
咦,我好像答错了_(:△」∠)_
弄成了加载首页的数据。。。。
--------------------------
用chrome看network的XHR数据你可以找到那个返回json数据的请求
怎样爬取知乎的ajax内容?

看下post的参数
怎样爬取知乎的ajax内容?

然后设置好参数就行啦
def get_pages(): headers = \u0026#39;application/x-www-form-urlencoded\u0026#39; headers = get_xsrf() for x in range(1, 10): json_url = \u0026#39;https://www.zhihu.com/node/TopStory2FeedList\u0026#39; offfset = 10*x payload = \u0026#39;params=%7B%22offset%22%3A{0}%2C%22start%22%3A%22{1}%22%7D\u0026amp;method=next\u0026#39;.format(offfset, offfset-1) r = session.post(json_url, headers = headers, data = https://www.zhihu.com/api/v4/questions/43610586/payload) get_titles(r, True)def get_titles(r, json): if not json: bs = BeautifulSoup(r.text, /u0026#39;html5lib/u0026#39;) titles = bs.findAll("h2", {"class", "feed-title"}) print(titles) else: for x in r.json(): bs = BeautifulSoup(x, \u0026#39;html5lib\u0026#39;) titles = bs.findAll("h2", {"class", "feed-title"}) print(titles)
■网友
你可以抓包拿到ajax的目标链接还有必要的字段 还有提交方式Python 我不知道 不过都差不多Ajax其实和抓取普通链接是一样的抓包你可以直接用chrome或者软件fiddler这里是用php 写的 你可以参照一下


推荐阅读