听说你到现在还不会爬取携程评论?
Posted 程序员启航
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了听说你到现在还不会爬取携程评论?相关的知识,希望对你有一定的参考价值。
作者:李运辰
大家好,我是辰哥。
这几天在辰哥的技术交流群里有读者反应说不会爬取携程的评论数据,今天辰哥给读者安排上。作为辰哥的文章读者,辰哥必须教会大家如何爬取携程评论数据(哈哈哈)。
下面就以长隆野生动物世界为例,讲解如何去爬取携程评论数据。
涉及核心知识点:
-
Ajax异步请求分析
-
发送post请求
01分析数据源
这里的数据源是指html网页?还是Aajx异步。对于爬虫初学者来说,可能不知道怎么判断,这里辰哥也手把手过一遍。
提示:以下操作均不需要登录(当然登录也可以)
咱们先在浏览器里面搜索携程,然后在携程里面任意搜索一个景点:长隆野生动物世界,这里就以长隆野生动物世界为例,讲解如何去爬取携程评论数据。
页面下方则是评论数据
1.分析数据源
从上面两张图可以看出,点击评论下一页,浏览器的链接没有变化,说明数据是Ajax异步请求。因此我们就找到了数据是异步加载过来的,这时候需要去network里面是查看数据包。
02分析数据包
在network中找到下面这个数据包
查看Preview里面的内容(请求返回内容)
可以看到数据已经请求到了,下面看一下数据是否是正确的(和网页内容一致)。
ok,没问题之后,下面开始编写Python程序去请求数据。
1.请求地址
可以获取到请求链接和请求方式。
这里请求不用添加请求头header也是可以的。其中postUrl是请求链接,data_1是请求参数。
2.请求参数
在network里可以看到请求参数
在程序中的构建如下:
其中需要关注的是arg中的pageIndex(页数),pageSize(每页条数)。
最终结果如下:
该景点的评论就可以成功爬取下来了。
03采集全部评论
上面只是采集了第一页的评论数据,通过改变arg中的pageIndex(页数),就可以遍历爬取全部的评论。
比如这个景点一共是300页。现在把循环给加上
最终的完整代码如下:
04小结
本文涉及核心知识点:
-
Ajax异步请求分析
-
发送post请求
文章到这里就结束了,感谢你的观看
说实在的,每次在后台看到一些读者的回应都觉得很欣慰,我想把我收藏的一些编程干货贡献给大家,回馈每一个读者,希望能帮到你们。
干货主要有:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python所有知识点汇总(可以弄清楚Python的所有方向和技术)
*如果你用得到的话可以直接拿走,在我的QQ技术交流群里,可以自助拿走,群号是857113825。*
以上是关于听说你到现在还不会爬取携程评论?的主要内容,如果未能解决你的问题,请参考以下文章