回复“书籍”即可获赠Python从入门到进阶共10本电子书 /1 前言/ 当我们出去旅游时,会看这个地方有哪些旅游景点,景点价格、开放时间、用户的评论等。 本文基于Python网络爬虫技术,以hao123旅游网为例,获取旅游景点信息。
/2 项目目标/ 获取网站的景点名称、开放时间、精彩点评、价格等信息。
/3 涉及的库和网站/ 先列出网址,如下所示: 网址:https://go.hao123.com/ticket?city=%E5%B9%BF%E5%B7%9E&theme=all&pn=1
网址city=%E5%B9%BF%E5%B7%9E指的是广州这个城市、pn指的是页数。 需要用到的库:requests、lxml、pprint
/4 具体实现/ 1. 导入我们需要的库 import requests from lxml import etree from pprint import pprint
2. 导入库之后,我们定义一个class类,然后定义一个init方法继承self再定义一个主函数main,定义一个init方法:首先准备url地址,headers,如下图所示。 3. 定义一个请求函数,获取响应数据函数: 4. 请求到数据后,我们需要把这个数据进行解析: 5. 获取景点名称二级页面链接:使用xpath查找链接路径用谷歌浏览器选择开发者工具或者按F12,选择Elements按数字1、2操作找到旅游景点名称二级页面链接。 6. 根据分析,我们可以撸下代码。 7. 获取二级页面链接后,发送请求获取响应,解析数据。定义一个字典,保存景点名称、开放时间、精彩点评、价格。使用判断语句判断里面内容是否是空的。 8. 最后定义一个main函数,如下图所示。
/5 效果展示/ 1. 点击绿色按钮运行,将结果显示在控制台,如下图所示。输入你要爬取的页数。
/6 小结/ 1. 不建议抓取太多数据,容易对服务器造成负载,浅尝辄止即可。 2. 希望通过这个项目,能够帮助大家更好的了解旅游景点。 3. 本文基于Python网络爬虫,利用爬虫库,实现旅游网站部分信息的抓取。 4. 欢迎大家积极尝试,有时候看到别人实现起来很简单,但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。 5. 如果本文源码的小伙伴,请在后台回复“旅游”两个字进行获取,觉得不错,记得给个Star噢~
------------------- End ------------------- 往期精彩文章推荐: 欢迎大家点赞,留言,转发,转载,感谢大家的相伴与支持 想加入Python学习群请在后台回复【入群】 万水千山总是情,点个【在看】行不行 /今日留言主题/ 说一两个你常用的爬虫库吧~~ |