Python3 爬取携程网[1]: 根据好评优先顺序,获取北京五星级酒店列表

本文主要是介绍Python3 爬取携程网[1]: 根据好评优先顺序,获取北京五星级酒店列表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 项目目的

俗话说,“巧妇难为无米之炊”。在数据科学道路上,数据获取是数据利用、分析等后续工作中的重要前提。虽然说,如今有许多开源的数据集,但是,锻炼自己从浩如烟海的网络中获取原始数据的能力,对于培养数据科学的基础技能是十分重要的。

2. 需求分析

本文目的是根据好评优先顺序,爬取携程网上的北京五星级酒店列表。

3. 实验环境

  • 语言:Python 3.7
  • 操作系统:MacOS
  • 编程IDE:Pycharm
  • 浏览器:Chrome

4. 具体实现

这一部分是本文的重点,将按照基本爬虫思路进行记录。

4.1 分析页面

对于一个学生而言,拿到一道题,首先要做的工作是熟读题目、进行分析,而不是马上下笔答题。同理,爬虫之前,认真分析要爬取的页面,会使得工作事半功倍。

  1. 打开携程网.
    在页面上选择:
  • 城市:北京
  • 入住日期:2019-02-19
  • 退房日期:2019-02-20
  • 房间数:1间
  • 住客数:2人
  • 酒店级别:五星级/豪华
    如图1所示:
    Pic1
图1 携程主页及酒店信息选择
  1. 分析北京五星级酒店页面
    点击图1中的“搜索”按钮,在酒店列表页面中选择好评优先排序方式。如图2所示。
    Pic2
图2 北京五星级酒店列表页面
  1. 寻找页面接口
    因为每一个酒店都是可点击跳转的,即可交互,所以,为动态页面。静态页面可以直接通过页面源码,实现获取信息;动态页面需要找寻接口,然后从其接口的源码中获取信息。
    在页面空白处,点击右键,选择“检查”,可以看到页面的源码。找寻接口,必须选中第一行的“Network”选项。
    点击页面刷新按钮,即可在Filter中输入“Hotel”,选择“XHR”,即可找到页面接口。

这篇关于Python3 爬取携程网[1]: 根据好评优先顺序,获取北京五星级酒店列表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

C++11范围for初始化列表auto decltype详解

《C++11范围for初始化列表autodecltype详解》C++11引入auto类型推导、decltype类型推断、统一列表初始化、范围for循环及智能指针,提升代码简洁性、类型安全与资源管理效... 目录C++11新特性1. 自动类型推导auto1.1 基本语法2. decltype3. 列表初始化3

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

Spring Bean初始化及@PostConstruc执行顺序示例详解

《SpringBean初始化及@PostConstruc执行顺序示例详解》本文给大家介绍SpringBean初始化及@PostConstruc执行顺序,本文通过实例代码给大家介绍的非常详细,对大家的... 目录1. Bean初始化执行顺序2. 成员变量初始化顺序2.1 普通Java类(非Spring环境)(

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

一文详解如何使用Java获取PDF页面信息

《一文详解如何使用Java获取PDF页面信息》了解PDF页面属性是我们在处理文档、内容提取、打印设置或页面重组等任务时不可或缺的一环,下面我们就来看看如何使用Java语言获取这些信息吧... 目录引言一、安装和引入PDF处理库引入依赖二、获取 PDF 页数三、获取页面尺寸(宽高)四、获取页面旋转角度五、判断

浅析Spring如何控制Bean的加载顺序

《浅析Spring如何控制Bean的加载顺序》在大多数情况下,我们不需要手动控制Bean的加载顺序,因为Spring的IoC容器足够智能,但在某些特殊场景下,这种隐式的依赖关系可能不存在,下面我们就来... 目录核心原则:依赖驱动加载手动控制 Bean 加载顺序的方法方法 1:使用@DependsOn(最直

Python中将嵌套列表扁平化的多种实现方法

《Python中将嵌套列表扁平化的多种实现方法》在Python编程中,我们常常会遇到需要将嵌套列表(即列表中包含列表)转换为一个一维的扁平列表的需求,本文将给大家介绍了多种实现这一目标的方法,需要的朋... 目录python中将嵌套列表扁平化的方法技术背景实现步骤1. 使用嵌套列表推导式2. 使用itert

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文