Python爬虫实战之爬取携程评论


Posted in Python onJune 02, 2021

一、分析数据源

这里的数据源是指html网页?还是Aajx异步。对于爬虫初学者来说,可能不知道怎么判断,这里辰哥也手把手过一遍。

提示:以下操作均不需要登录(当然登录也可以)

咱们先在浏览器里面搜索携程,然后在携程里面任意搜索一个景点:长隆野生动物世界,这里就以长隆野生动物世界为例,讲解如何去爬取携程评论数据。

 Python爬虫实战之爬取携程评论

页面下方则是评论数据

 Python爬虫实战之爬取携程评论

Python爬虫实战之爬取携程评论 Python爬虫实战之爬取携程评论

从上面两张图可以看出,点击评论下一页,浏览器的链接没有变化,说明数据是Ajax异步请求。因此我们就找到了数据是异步加载过来的,这时候需要去network里面是查看数据包

二、分析数据包

在network中找到下面这个数据包

 Python爬虫实战之爬取携程评论

查看Preview里面的内容(请求返回内容)

Python爬虫实战之爬取携程评论

可以看到数据已经请求到了,下面看一下数据是否是正确的(和网页内容一致)。

 Python爬虫实战之爬取携程评论

ok,没问题之后,下面开始编写Python程序去请求数据。

1.请求地址

Python爬虫实战之爬取携程评论

可以获取到请求链接和请求方式。

Python爬虫实战之爬取携程评论

这里请求不用添加请求头header也是可以的。其中postUrl是请求链接,data_1是请求参数。

2.请求参数

在network里可以看到请求参数

Python爬虫实战之爬取携程评论

在程序中的构建如下:

Python爬虫实战之爬取携程评论

其中需要关注的是arg中的pageIndex(页数),pageSize(每页条数)。

Python爬虫实战之爬取携程评论

最终结果如下:

Python爬虫实战之爬取携程评论

该景点的评论就可以成功爬取下来了。

三、采集全部评论

上面只是采集了第一页的评论数据,通过改变arg中的pageIndex(页数),就可以遍历爬取全部的评论。

Python爬虫实战之爬取携程评论

比如这个景点一共是300页。现在把循环给加上

最终的完整代码如下:

Python爬虫实战之爬取携程评论

到此这篇关于Python爬虫实战之爬取携程评论的文章就介绍到这了,更多相关Python爬取携程评论内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现监控linux性能及进程消耗性能的方法
Jul 25 Python
在Python的Flask框架中实现单元测试的教程
Apr 20 Python
解析Python中while true的使用
Oct 13 Python
python实现井字棋游戏
Mar 30 Python
Python中异常重试的解决方案详解
May 05 Python
Python 判断 有向图 是否有环的实例讲解
Feb 01 Python
使用Python脚本zabbix自定义key监控oracle连接状态
Aug 28 Python
利用python、tensorflow、opencv、pyqt5实现人脸实时签到系统
Sep 25 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
Jun 29 Python
Python实现一个优先级队列的方法
Jul 31 Python
基于Python模拟浏览器发送http请求
Nov 06 Python
PyCharm 配置SSH和SFTP连接远程服务器
May 11 Python
Pytorch DataLoader shuffle验证方式
python 爬取吉首大学网站成绩单
python 批量压缩图片的脚本
Jun 02 #Python
python操作xlsx格式文件并读取
关于Numpy之repeat、tile的用法总结
Jun 02 #Python
Matlab如何实现矩阵复制扩充
Jun 02 #Python
给numpy.array增加维度的超简单方法
Jun 02 #Python
You might like
PHP执行linux系统命令的常用函数使用说明
2010/04/27 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
PHP读取大文件末尾N行的高效方法推荐
2016/06/03 PHP
页面调用单个swf文件,嵌套出多个方法。
2011/11/21 Javascript
基于豆瓣API+Angular开发的web App
2015/01/02 Javascript
javascript HTML5 canvas实现打砖块游戏
2020/06/18 Javascript
利用css+原生js制作简单的钟表
2020/04/07 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
angular2路由切换改变页面title的示例代码
2017/08/23 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
jsonp跨域获取数据的基础教程
2018/07/01 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
Element Input组件分析小结
2018/10/11 Javascript
详解JQuery基础动画操作
2019/04/12 jQuery
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
使用Python简单的实现树莓派的WEB控制
2016/02/18 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
2018/04/20 Python
Python多进程multiprocessing.Pool类详解
2018/04/27 Python
朴素贝叶斯Python实例及解析
2018/11/19 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
2020/02/28 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
解决Pyinstaller打包软件失败的一个坑
2021/03/04 Python
美国环保婴儿用品公司:The Honest Company
2017/11/23 全球购物
英国领先的在线礼品店:Getting Personal
2019/09/24 全球购物
菜篮子工程实施方案
2014/03/08 职场文书
消防宣传口号
2014/06/16 职场文书
大学生就业自荐书
2014/06/16 职场文书
反对邪教标语
2014/06/30 职场文书
二手车转让协议书
2015/01/29 职场文书
遗失证明范文
2015/06/19 职场文书
小学庆六一主持词
2015/06/30 职场文书
2016年第104个国际护士节活动总结
2016/04/06 职场文书
pandas数值排序的实现实例
2021/07/25 Python
php将xml转化对象的实例详解
2021/11/17 PHP
详解Spring Bean的配置方式与实例化
2022/06/10 Java/Android