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的Tkinter实现一个简易计算器
Dec 31 Python
从源码解析Python的Flask框架中request对象的用法
Jun 02 Python
python使用str & repr转换字符串
Oct 13 Python
Tensorflow简单验证码识别应用
May 25 Python
对Python3中的input函数详解
Apr 22 Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 Python
python协程之动态添加任务的方法
Feb 19 Python
Python使用统计函数绘制简单图形实例代码
May 15 Python
Python爬虫抓取技术的一些经验
Jul 12 Python
Python Django框架模板渲染功能示例
Nov 08 Python
python将字符串转变成dict格式的实现
Nov 18 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 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 时间计算问题小结
2009/01/04 PHP
PHP 字符串编码截取函数(兼容utf-8和gb2312)
2009/05/02 PHP
Thinkphp框架中D方法与M方法的区别
2016/12/23 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
基于Laravel-admin 后台的自定义页面用法详解
2019/09/30 PHP
JavaScript 动态改变图片大小
2009/06/11 Javascript
javascript hasFocus使用实例
2010/06/29 Javascript
node.js chat程序如何实现Ajax long-polling长链接刷新模式
2012/03/13 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
2014/02/21 Javascript
js验证真实姓名与身份证号是否匹配
2015/10/13 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
js封装成插件的步骤方法
2017/09/11 Javascript
js+css实现打字效果
2020/06/24 Javascript
小程序的上传文件接口的注意要点解析
2019/09/17 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
javascript中正则表达式语法详解
2020/08/07 Javascript
解决vuex刷新数据消失问题
2020/11/12 Javascript
[09:13]2014DOTA2国际邀请赛 中国区预选赛coser表演
2014/05/23 DOTA
python使用PyGame模块播放声音的方法
2015/05/20 Python
python实现批量修改文件名代码
2017/09/10 Python
浅谈python中requests模块导入的问题
2018/05/18 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
2018/11/06 Python
python实现停车管理系统
2018/11/30 Python
python基于SMTP协议发送邮件
2019/05/31 Python
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
腾讯技术类校园招聘笔试试题
2014/05/06 面试题
linux面试题参考答案(11)
2016/11/26 面试题
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
公务员的自我鉴定
2013/10/26 职场文书
担保书格式及范文
2014/04/01 职场文书
学雷锋活动总结报告
2014/06/26 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
深入理解redis中multi与pipeline
2021/06/02 Redis