Python批量采集云南携程酒店信息
昨天收到一个订单需求需要爬取携程云南酒店的名称,价格,评分,点评数,道路特点和地址信息1000条用来做酒店数据分析的工作,虽然1000条数据量不是很大,但是复制粘贴也需要花费很长的时间而且数据也不好整理,所以我们今天使用python来完成这件事情。开发工具我们还是选择pycharm和谷歌浏览器,python我用的是3.6版本。本次数据采集总共有四个步骤:1.分析目标网址;2.获取网站响应内容;3.解析网站响应内容;4.保存响应内容。目前大部分都会将数据保存至csv文件中,因为csv文件以逗号分开,可以在wps中直接转为excel文件,比较方便。当然我们也可以根据不同的需求保存到不同的文件类型。接下来我们将按照步骤依次来完成爬虫工作:
1.分析目标网址
打开谷歌浏览器,进入携程酒店网,城市选择大理,下拉酒店发现网址并没有发生变化,说明这些数据是动态加载的。右击鼠标打开检查,下拉页面搜索搜索更多酒店,会发现出现两个包,其中下面那个包就是酒店信息的包,我们会发现请求为POST,这样就顺利就抓到酒店信息的包了。我们打开headers发现请求地址,请求方式,请求状态码,请求头信息,cookie信息,refer信息都在,往下翻还有Requst playroad,打开searchCondition,发现入住日期,离开日期,入住人数,城市,页数,酒店数量都在这个字典中,后期我们只需要更换页码就可以拿到更多页的酒店信息,更换日期就可以拿到不同时间段的酒店信息,更换城市姓名和城市id就可以拿到更多城市的信息。
2.获取响应内容
导入相关库
构造请求头
构造POST响应体
发送POST请求
3.解析响应内容
4.保存响应内容
至此,便完成了大理携程酒店的1000条数据,总共用时10分钟,是不是很赞,大家需要源码可以后台私聊我。需要爬取多页只需要加上for循环遍历页数就可以啦。
本文仅供参考。
相关文章
- PyAOS:大气和海洋科学Python社区
- 用Python画个生日蛋糕为朋友庆生
- Python应用实践——设计一个学生管理系统
- python 制作淘宝秒杀脚本
- Python DB-API 规范及 MySQL Connector/Python 实现
- Easy Games With Python and Pygame(二)- Pygame 绘制图形
- 用Python实现开心消消乐小游戏
- python 字符串转成数字_python数字转十六进制字符串
- python button使用方法_python gui界面设计
- Python进阶40-drf框架(二)
- Python-基础02-程序与用户交互
- 一口气用Python写了13个小游戏(附源码)
- 用Python写个魂斗罗
- Python版PHP内置的MD5()函数
- Python办公自动化 | word 文本转 excel
- Python 上下文管理及 with 语句的实用技巧
- 最强最炫的Python数据可视化神器,没有之一!
- 【python】分苹果
- Python字典详细操作
- Python 随机(Random)模块的不可预测之美