python爬虫的国内外现状_Python爬虫进阶之去哪儿酒店(国内外)

2023-12-24 21:20

本文主要是介绍python爬虫的国内外现状_Python爬虫进阶之去哪儿酒店(国内外),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

之前发了一篇爬取去哪儿自由行的数据后,有一个读者在后台问到我怎么爬取去哪儿酒店的数据。当时简单看了下,觉得难度不大。就跟他讲了下思路。因为当时爬取自由行的网站选取的是移动端。为了能让读者学习到更多的知识,我们今天选取了去哪儿的电脑端来进行爬取。其实爬虫的思路都是一样的,无非就是先获取网页信息,然后再解析。解析之后就提取所要的数据。如果要对数据要进一步的分析的话。还需要对数据进行清洗,建模等一系列操作。今天作者给大家带来的就是去哪儿酒店酒店信息的获取,并进行数据清洗,分析。

1. 准备工作

本篇案例主要涉及到的Python的库有Selenium,pymongo库,以及解析库pyquery。清洗库pandas库和matplotlib库,并且安装好了Chrome浏览器和配置好了ChromeDriver。

2. 页面分析

首先访问去哪儿网址:"https://www.qunar.com/",然后选择酒店这一栏。我们可以看到目前的链接为:"http://hotel.qunar.com/"。这个就是我们要访问的域名。如下图所示。

我们点击页面的目的地输入城市,然后点击搜索即可出现酒店列表,即我们可以用Selenium来控制浏览器输入城市名,然后点击。我们进入到酒店页面。如下图所示。

如果有更多的业务需求,我们可以选择菜单上的酒店类型,实现思路一样。在此我们默认为"酒店搜索"这一栏。并且选择按评分来筛选酒店。我们随机选择一个酒店名,右击打开开发者工具。如下图所示。

我们经过分析可知每个酒店的内容是在id为"jxContentPanel"中,并且在其下class为"b_result_box js_list_block"中可以看到每个酒店的详细信息。如下图所示。

我们就可以pyquery解析库来解析网页获取我们所需要的信息了,到此网页的解析已经完成。下面我们用代码来实现整个抓取的过程。

3. 实战演练

3.1 获取目的地城市列表

这里我们可以使用我们之前抓取自由行数据时抓取到的目的地城市列表,实现如下:

3.2 获取去哪儿页面详情页

我们已经有目的地城市列表了,所以我们在在访问去哪儿网址时,只用输入所获得的城市就可以进行搜索了。然后就可以获取酒店页面了。 并且我们要获得多个页面的酒店。所以也要实现翻页的方法。实现如下:

3.3解析酒店列表

我们已经获得了酒店列表页面,接下来用解析库pyquery进行解析,就可以获取我们想要的数据了。实现如下:

3.4保存到数据库和csv文件

3.5运行代码

3.6结果查看

MongoDB数据库结果:

CSV文件:

3.7数据清洗

利用pandas库进行数据清洗,实现如下:

结果如下 :

3.8 项目代码

4. 结语

此项目主要功能是爬取去哪儿酒店,如果你要爬取去哪儿的其它业务,思路也是一样的。

If it works for you.Please,star.

对爬虫,数据分析,算法感兴趣的朋友们,可以加微信公众号 TWcoding,我们一起玩转Python。

推荐阅读:先生:大型爬虫案例:爬取去哪儿网(目前已采集数据10万条)​zhuanlan.zhihu.comv2-c4649ffa9d7ae25676adfb9c5cf23671_180x120.jpg先生:爬取今日头条NBA版块​zhuanlan.zhihu.comv2-f48e2d2fdba31727c4c359511b65db15_180x120.jpg先生:数据分析之《我不是药神》​zhuanlan.zhihu.comv2-c28e623145984b035c1314581f4a0824_180x120.jpg

这篇关于python爬虫的国内外现状_Python爬虫进阶之去哪儿酒店(国内外)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/533160

相关文章

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

Python将大量遥感数据的值缩放指定倍数的方法(推荐)

《Python将大量遥感数据的值缩放指定倍数的方法(推荐)》本文介绍基于Python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处理,并将所得处理后数据保存为新的遥感影像... 本文介绍基于python中的gdal模块,批量读取大量多波段遥感影像文件,分别对各波段数据加以数值处

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Python进阶之Excel基本操作介绍

《Python进阶之Excel基本操作介绍》在现实中,很多工作都需要与数据打交道,Excel作为常用的数据处理工具,一直备受人们的青睐,本文主要为大家介绍了一些Python中Excel的基本操作,希望... 目录概述写入使用 xlwt使用 XlsxWriter读取修改概述在现实中,很多工作都需要与数据打交

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

利用Python编写一个简单的聊天机器人

《利用Python编写一个简单的聊天机器人》这篇文章主要为大家详细介绍了如何利用Python编写一个简单的聊天机器人,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 使用 python 编写一个简单的聊天机器人可以从最基础的逻辑开始,然后逐步加入更复杂的功能。这里我们将先实现一个简单的

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Python实现高效地读写大型文件

《Python实现高效地读写大型文件》Python如何读写的是大型文件,有没有什么方法来提高效率呢,这篇文章就来和大家聊聊如何在Python中高效地读写大型文件,需要的可以了解下... 目录一、逐行读取大型文件二、分块读取大型文件三、使用 mmap 模块进行内存映射文件操作(适用于大文件)四、使用 pand

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一