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抓取淘宝下拉框关键词的方法
Jul 08 Python
Python查询阿里巴巴关键字排名的方法
Jul 08 Python
Python 基础知识之字符串处理
Jan 06 Python
深入探究Django中的Session与Cookie
Jul 30 Python
python3中获取文件当前绝对路径的两种方法
Apr 26 Python
Python并发之多进程的方法实例代码
Aug 15 Python
Flask Web开发入门之文件上传(八)
Aug 17 Python
python使用Matplotlib画饼图
Sep 25 Python
python paramiko利用sftp上传目录到远程的实例
Jan 03 Python
基于Python实现2种反转链表方法代码实例
Jul 06 Python
Windows下Sqlmap环境安装教程详解
Aug 04 Python
python 窃取摄像头照片的实现示例
Jan 08 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
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
使用PHP编写发红包程序
2015/07/22 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
一个实用的php验证码类
2017/07/06 PHP
将光标定位于输入框最右侧实现代码
2012/12/04 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
从数组中随机取x条不重复数据的JS代码
2013/12/24 Javascript
jquery实现点击弹出带标题栏的弹出层(从右上角飞入)效果
2015/09/19 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
Bootstrap Table使用整理(三)
2017/06/09 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
js实现点赞按钮功能的实例代码
2020/03/06 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
pyhanlp安装介绍和简单应用
2019/02/22 Python
django中使用Celery 布式任务队列过程详解
2019/07/29 Python
Python析构函数__del__定义原理解析
2020/11/20 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
介绍一下.NET构架下remoting和webservice
2014/05/08 面试题
Shell如何接收变量输入
2016/08/06 面试题
Linux管理员面试经常问道的相关命令
2014/12/12 面试题
介绍一下JNDI的基本概念
2013/07/26 面试题
舞蹈比赛获奖感言
2014/02/04 职场文书
学习十八大报告感言
2014/02/28 职场文书
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
婚前协议书范本
2014/04/15 职场文书
活动总结书
2014/05/08 职场文书
财务审计整改报告
2014/11/06 职场文书
医院科室评语
2015/01/04 职场文书
公司与个人合作协议书
2016/03/19 职场文书
Memcached介绍及php-memcache扩展安装
2021/04/01 PHP