以下内容为本人原创,欢迎大家观看学习,禁止用于商业用途,谢谢合作!
·作者:@Yhen
·原文网站:CSDN
·原文链接:https://blog.csdn.net/Yhen1/article/details/105460969
转载请说明此出处,侵权必究!谢谢合作!
大噶好!我是python练习时长一个月的Yhen,今天向大家分享的是爬取去哪儿网旅游信息,特别感谢六星教育python学院,我就是在这里学的,老师讲的挺好挺仔细的,以下内容都是基于我在课堂上学到的,大家有兴趣可以到腾讯课堂报名听课,都是免费的。
我的前两篇博客有讲到如何爬小说和爬知乎大佬的文章,有兴趣的同学可以去我的博客主页看看哦!由于今天的内容比较简单,所以正文内容篇幅较之前两篇会短一点。但是放心,绝对详细。来不及解释了,快上车!!!
一.明确需求
今天我们的目标是把去哪儿网的热门旅游项目的项目名称,用户评分,以及价格爬取下来
我们以广州一日游为例
二.代码演示
首先是基本操作:先对网址发送请求,获取网页数据
import requests
url = 'https://piao.qunar.com/daytrip/list.htm?keyword=%E5%B9%BF%E5%B7%9E%E4%B8%80%E6%97%A5%E6%B8%B8®ion=&from=mdl_search&sort=&page={}'.format(c)
# 请求头 浏览器类型
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.9 Safari/537.36"}
# 向网址发送请求
res = requests.get(url,headers=headers).text
注意这里要加个请求头:浏览器类型哦,防止被网站识别出我们是爬虫在操作。
我们来康康请求结果
很nice,成功请求了,也没有出现乱码
好了,接下来就是提取数据
我的前两篇博客中提取数据时分别用到了xpath和pyque
我们今天 还是用pyquery来提取数据,忘了的同学可以去我博客复习下呀
首先导包,然后数据初始化
from pyquery import PyQuery as pq
# 数据初始化
doc =pq(res)
接下来回到我们的网页看看
首先F12,打开检查工具,然后点击左上角的按键。
我们先来定位项目名称
如图
我们看看下面给我们反馈的数据
首先我们能够看到,我们定位的数据类选择器为“name”
接下来再看看评分
我们可以看到,定位到评分时,下面给我们反馈的是在类选择器为“relation_count”
我们再来看看价格的
显然,价格是在类选择器为“sight_item_price”
好,下面我们就把他们取出来
他们的提取方法都是相同的
分别通过类选择器 “name”,“sight_item_price”,“relation_count”来提取他们的数据
# 通过类选择器获取旅游项目,项目价格以及评分信息
name =doc(".name")
sight_item_price=doc(".sight_item_price")
relation_count