前言

今天给大家介绍的是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/' + hrefdit = {'景区': title,'星级': level,'地区': area,'热度': hot,'销量': hot_num,'地址': address,'价格': price,'简介': intro,'详情页': href,}

Cookie获取

效果展示

最后

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

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

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

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

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

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

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

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

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

  1. 爬虫实战—爬取房天下全国所有的楼盘并入库(附源码)

    1.创建项目 使用命令创建scrapy项目:scrapy startproject fang进入到spiders文件中: cd fang/fang/spiders创建爬虫文件:scrapy gensp ...

  2. 【Android App】实战项目之仿抖音的短视频分享App(附源码和演示视频 超详细必看)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 与传统的影视行业相比,诞生于移动互联网时代的短视频是个全新行业,它制作方便又容易传播,一出现就成为大街小巷的时髦潮流. 各行各业的人们均可通过短视频展 ...

  3. 【Android App】实战项目之仿微信的私信和群聊App(附源码)

    手机最开始用于通话,后来增加了短信功能,初步满足了人与人之间的沟通需求.然而短信只能发文字,于是出现了能够发图片的彩信,但不管短信还是彩信,资费都太贵了,令人惜墨如金. 后来移动公司推出飞信,它支持从 ...

  4. 【Android App】实战项目之仿微信的私信和群聊App(附源码和演示视频 超详细必看)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 手机最开始用于通话,后来增加了短信功能,初步满足了人与人之间的沟通需求.然而短信只能发文字,于是出现了能够发图片的彩信,但不管短信还是彩信,资费都太贵 ...

  5. 【Android App】实战项目之使用OpenCV人脸识别实现找人功能(附源码和演示 超详细)

    需要全部代码请点赞关注收藏后评论区留言私信~~~ 人脸识别自古有之,每当官府要捉拿某人时,便在城墙贴出通缉告示并附上那人的肖像.只是该办法依赖人们的回忆与主观判断,指认结果多有出入,算不上什么先进. ...

  6. 用python爬取基金网信息数据,保存到表格,并做成四种简单可视化。(爬虫之路,永无止境!)

    用python爬取基金网信息数据,保存到表格,并做成四种简单可视化.(爬虫之路,永无止境!) 上次 2021-07-07写的用python爬取腾讯招聘网岗位信息保存到表格,并做成简单可视化. 有的人留 ...

  7. 使用python多线程获取代理IP(代理IP池,附源码)

    @[TOC]使用python多线程获取代理IP(代理IP池,附源码) 代理IP池 都说现在是大数据的时代,大多数的厂商会特别的注重自己家的数据安全问题,但同时,也有着许多的行业是需要大数据来做支撑的, ...

  8. 曝肝三天,两千行Python代码,制作B站视频下载工具(附源码)

    曝肝三天,两千行Python代码,制作B站视频下载工具(附源码) 文章目录 一.准备工作 二.预览 1.启动 2.解析 3.下载中 4.下载完成 5.结果 三.设计流程 1.bilibili_vide ...

  9. Java毕设项目蛋糕店会员系统的设计与实现计算机(附源码+系统+数据库+LW)

    Java毕设项目蛋糕店会员系统的设计与实现计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行 ...

最新文章

  1. 在用户控件中弹出消息框的方法
  2. mybatis第一讲:初探mybatis实现简单的查询
  3. [SQL] 查找数据库中含有某字段的所有表
  4. 祖孙俩人是什么关系_一个人生活也挺好,为什么还需要亲密关系?
  5. Python正在褪色,最晚2030年就被淘汰
  6. matlab erf erfi,中国樱桃AP2/ERF转录因子在花芽休眠解除过程的表达与作用研究
  7. python鼠标移动_python自动化之鼠标移动
  8. kettle的下载|运行及简单kettle数据抽取(MAC kettle|windows Kettle)
  9. Elasticsearch 常用运维工具
  10. 计算机表格出现value,excel中出现#value!的解决办法
  11. 006Python-Re库入门(正则表达式)
  12. spark 集群处理后转单机pyspark 或 pands 数据处理 的方法
  13. 使用Simu5G实现车联网V2X通信过程(两个简单的示例)
  14. 使用python爬取虎牙主播直播封面图片(scrapy)
  15. HHTC_学校集训编程题目(13)(组队赛_3)
  16. 压缩感知的尽头: 原子范数最小化
  17. java 模拟登录微信_java 微信模拟登录错误,微信改版后不能使用
  18. 如何获取sku详情信息
  19. matlab 培训 长春,MATLAB在线性代数中的应用
  20. Kong——Proxy文档

热门文章

  1. 计算机学院舍徽,关于举办山东工商学院第十七届心理健康宣传月活动的通知
  2. 单片机数码管显示自行车里程c语言,基于51单片机的自行车里程计速度计设计.doc...
  3. 公式编辑器打的公式能改变颜色吗?
  4. Latext安装(二)WinEdt安装+激活教程
  5. Android内容提供者ContentProvider总结
  6. WSL(Ubuntu 16.04 LTS)学习之路(2)换源
  7. 紫禁城里“冷宫”在哪儿? 故宫的六大宫廷之迷
  8. 学机器人编程需要什么基础
  9. 基于eNSP的校园网规划与设计
  10. Typora + Picgo + 阿里云oss实现图片上传