【爬虫实战项目】Python爬虫批量旅游景点信息数据并保存本地(附源码)

news2024/11/23 12:03:37

前言

今天给大家介绍的是Python爬虫批量下载旅游景点信息数据,在这里给需要的小伙伴们代码,并且给出一点小心得。

首先是爬取之前应该尽可能伪装成浏览器而不被识别出来是爬虫,基本的是加请求头,但是这样的纯文本数据爬取的人会很多,所以我们需要考虑更换代理IP和随机更换请求头的方式来对旅游景点信息数据进行爬取。

在每次进行爬虫代码的编写之前,我们的第一步也是最重要的一步就是分析我们的网页。

通过分析我们发现在爬取过程中速度比较慢,所以我们还可以通过禁用谷歌浏览器图片、JavaScript等方式提升爬虫爬取速度。

开发工具

Python版本: 3.6

相关模块:

requests模块

parsel模块

time模块

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

文中完整代码及文件,评论留言获取

数据来源查询分析

浏览器中打开我们要爬取的页面
按F12进入开发者工具,查看我们想要的旅游景点信息数据在哪里
这里我们需要页面数据就可以了
源代码结构

代码实现

for page in range(1, 12):
    # '{}'.format(page) 字符串格式化的方法
    print(f'===============================正在爬取第{page}页数据内容=======================================')
    time.sleep(2)
    url = f'https://piao.qunar.com/ticket/list_%E6%B9%98%E8%A5%BF.html?from=mps_search_suggest_h&keyword=%E6%B9%98%E8%A5%BF&page={page}'
    # 请求头:把python代码伪装成浏览器 给服务器发送请求
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
        'Cookie': '你的Cookie'
    }

response = requests.get(url=url, headers=headers)
    # 获取网页文本数据 response.text
    # print(response.text)
    # 解析数据
    selector = parsel.Selector(response.text)
    # css选择器 根据标签提取数据内容
    # 第一次提取 所以景区标签内容 返回的页是一个对象 列表
    # id选择器 直接可以使用# 开头
    lis = selector.css('#search-list .sight_item_detail')
    for li in lis:
        title = li.css('.name::text').get() # 景区
        level = li.css('.level::text').get() # 星级
        area = li.css('.area a::text').get() # 地区
        # attr属性选择器 replace() 字符串替换
        hot = li.css('.product_star_level em::attr(title)').get().replace('热度: ', '') # 热度
        hot = int(float(hot)*100)
        address = li.css('.address span::attr(title)').get() # 地址
        price = li.css('.sight_item_price em::text').get() # 价格
        hot_num = li.css('.hot_num::text').get() # 销量
        intro = li.css('.intro::text').get() # 简介
        href = li.css('.name::attr(href)').get() # 详情页
        href = 'https://piao.qunar.com/' + href
        dit = {
            '景区': title,
            '星级': level,
            '地区': area,
            '热度': hot,
            '销量': hot_num,
            '地址': address,
            '价格': price,
            '简介': intro,
            '详情页': href,
        }

Cookie获取

Cookie

效果展示

效果展示

最后

为了感谢读者们,我想把我最近收藏的一些编程干货分享给大家,回馈每一个读者,希望能帮到你们。

里面有适合小白新手的实战教程给到大家~

快来和小鱼一起成长进步吧!

① 100+多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库(最全中文版)

③ 爬虫项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/90967.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

丰立智能在创业板上市:总市值达到33亿元,王友利夫妇为实控人

12月15日,浙江丰立智能科技股份有限公司(下称“丰立智能”,SZ:301368)在深圳证券交易所创业板上市。本次上市,丰立智能的发行价格为22.33元/股,发行数量为3010万股,募资总额约为6.72亿元&#x…

企业数字化进程中,商业智能 BI 如何降本增效

当下形势,不稳定性已是常态,国际形势复杂多变,疫情对各行各业的企业影响巨大,市场环境日新月异,要想在激烈的竞争中站稳脚跟,实现企业盈利,必须降本增效。你是否考虑过利用数字技术这些新手段让…

关于Revit中门窗插入问题技巧和门窗生成

一、Rvit中门窗插入时需要注意的问题和技巧 1.在平面中插入门窗时,在键盘中输入SM门窗会自动定义在墙体的中心位置,如图1所示。 2.空格键可以快速调整门开启的方向 3.在三维视图中插入门窗时,窗户的位置可以任意插入,而插入的门系…

基于springboot休闲娱乐代理售票系统设计与实现的源码+文档

摘要 网络的广泛应用给生活带来了十分的便利。所以把休闲娱乐代理售票管理与现在网络相结合,利用java技术建设休闲娱乐代理售票系统,实现休闲娱乐代理售票的信息化。则对于进一步提高休闲娱乐代理售票管理发展,丰富休闲娱乐代理售票管理经验…

math_常用放缩不等式及其变形@指数@对数@三角函数@一次函数

文章目录三角函数对数分式x>0x>0x>0x∈(0,12π)x\in(0,\frac{1}{2}\pi)x∈(0,21​π)正弦正切x∈(0,1)x\in(0,1)x∈(0,1)有界性正弦余弦反三角x∈Rx\in{R}x∈R指数和幂三角函数对数分式 x>0x>0x>0 sin⁡x<x(x>0)\sin{x}<x(x>0)sinx<x(x>0)…

[GYCTF2020]Easyphp

打开界面&#xff0c;一个登陆的窗口&#xff0c;想到sql注入 然后查看源码没有多余的提示 然后试了一下常见的www.zip成功下载文件 index.php发现了包含文件 <?php require_once "lib.php";if(isset($_GET[action])){require_once(__DIR__."/".$_…

数据结构 | 红黑树、平衡二叉树旋转、并查集

一、红黑树 1.1、红黑树的定义&#xff08;左根右&#xff0c;根叶黑&#xff0c;不红红&#xff0c;黑路同&#xff09; 前提&#xff0c;对于一棵二叉排序树(或者说二叉搜索树)&#xff0c;如果满足以下定义则是红黑树&#xff1a; ①每个结点或是红色&#xff0c;或是黑色的…

2022-12-15 工作记录--React-用swiper实现多行交错、同速、跑马灯效果的弹幕式轮播(坑)

React-用swiper实现多行交错、同速、跑马灯效果的弹幕式轮播&#xff08;坑&#xff09; 激动的心呀呀呀&#xff01;٩(๑>◡<๑)۶ 历时昨天一下午滴时间昨晚凌晨一点多&#x1f31b;还爬起来思考&#x1f914;这个问题&#xff08;眼睛一闭着&#x1f634;&#xff0c…

2471. 逐层排序二叉树所需的最少操作数目-层次遍历+选择排序

2471. 逐层排序二叉树所需的最少操作数目-层次遍历选择排序 给你一个 值互不相同 的二叉树的根节点 root 。 在一步操作中&#xff0c;你可以选择 同一层 上任意两个节点&#xff0c;交换这两个节点的值。 返回每一层按 严格递增顺序 排序所需的最少操作数目。 节点的 层数…

虚拟机的垃圾收集(一)

虚拟机就好比是一个有限空间的一个房子&#xff0c;在我们生活中&#xff0c;也会产生各种各样的垃圾&#xff0c;虚拟机也不例外&#xff0c;垃圾满了会造成内存溢出等问题&#xff0c;那虚拟机是怎么进行垃圾回收的呢?让我们来揭开这神秘的面纱 1.概述 程序计数器、虚拟机…

融一亿但被质疑的5ire为何大家有分歧

5ire是由印度裔企业家 Pratik Gauri 和 Prateek Dwivedi 以及 Web3 金融家 Vilma Mattila 于 2021 年 8 月创立的区块链项目&#xff0c;官方在2022年7月公布以15亿美元估值获得一亿美元融资&#xff0c;机构为英国企业集团 SRAM & MRAM Group &#xff0c;成为印度的第 10…

[附源码]Python计算机毕业设计高校教材管理系统Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

电影《海贼王:红发歌姬》观后感

上周&#xff0c;北京已经开始陆续解封了&#xff0c;电影院也可以进入了&#xff0c;只要持有48小时核算就行&#xff0c;于是去看了这部电影《海贼王&#xff1a;红发歌姬》&#xff0c;去看之前&#xff0c;看了预告片&#xff0c;讲述路飞小时候的玩伴乌塔&#xff0c;长大…

NLP创业破局,如何摘取更高处的果实

点击蓝字关注我们AI TIME欢迎每一位AI爱好者的加入&#xff01;2022年&#xff0c;云从科技、商汤科技先后登陆资本市场&#xff0c;计算机视觉四小龙中的旷视科技、依图科技也在摩拳擦掌。反观NLP领域&#xff0c;相关企业的发展速度、融资规模、上市进程仿佛都要略逊一筹&…

java计算机毕业设计基于安卓Android的二手交易app-闲置物品交易app-ssm

项目介绍 首先,论文一开始便是清楚的论述了系统的研究内容。其次,剖析系统需求分析,弄明白“做什么”,分析包括业务分析和业务流程的分析以及用例分析,更进一步明确系统的需求。然后在明白了系统的需求基础上需要进一步地设计系统,主要包罗软件架构模式、整体功能模块、数据库设…

数组 reduce 方法使用记录

概述 reduce()方法对数组中每个元素执行一次 reduce&#xff08;&#xff09;函数 —升序执行&#xff0c;将其结果汇总为单个返回值。 reduce方法可做的事情特别多&#xff0c;就是训话遍历能做的&#xff0c;reduce都可以做&#xff0c;比如&#xff1a;数组求和&#…

Vue基础快速入门

目录 1.vue基础 1.1vue项目创建 1.2 el挂载 1.3.data数据对象 2.本地应用 2.1.内容绑定&#xff0c;事件绑定 v-text ​v-html 传递自定义参数&#xff0c;事件修饰符 总结&#xff1a; 结合使用&#xff1a;计数器 2.2.显示切换&#xff0c;属性绑定 v-show v…

【笔记】计算机组成原理复习重点——篇一

计算机组成原理复习重点笔记 计算机组成原理计算机体系结构 学科基础必修课 研究生入学考试全国联考45分&#xff0c;占比30% 64学时&#xff0c;4学分&#xff0c;上课56&#xff0c;实验8 教材&#xff1a;计算机组成原理(第二版 ) 唐朔飞 高等教育出版社 目录&#xff08;已…

快速创建servlet(doGet和doPost)

目录 前言必读 一、概述 一、创建方式 1.在需要创建的包下进行创建 2.自定义类名--->类这里添加一个类名&#xff08;和上面的名称一样名字&#xff09; ------>勾选创建并确定 3.创建完成代码 4.删掉多余的 二、升级生成的模板 1.点击文件--设置里面 2.在编…

Simulink| “双碳”背景下汽车减少碳排放建模与仿真

目录 一、概述 二、模型 三、Simulink模型 四、matlab代码 一、概述 温室气体的过量排放会增强温室效应&#xff0c;造成全球极端气候的出现&#xff0c;严重影响人类的生存与发展&#xff0c;因此&#xff0c;控制温室气体减排已成为当前环保的重点。根据联合国政府间气…