python爬去哪儿攻略

Python爬取去哪儿的攻略

入门教程

不需要html和css的相关知识也可以做

代码实现的步骤
1.向目标网页发送网络请求
2.获取数据,网页源代码
3.筛选我们要的数据
4.向每一个详情页链接发送网络请求
5.获取数据 网络源代码
6.提取数据(数据清洗)
    时间 天数 人均费用 地点

需要用到的模块:

import requests #发送请求
import parsel #筛选数据

我将按这六步来实现内容的爬取:

1.向目标网页发送网络请求

url='去哪儿的详情页面的链接'
response=requests.get(url)#发送请求

2.获取数据

#print(response.text) 
#这个是打印出来看是否可以成功访问,若访问不了可能有反爬虫机制,这时我们要加一个自己浏览器的访问头
html_data=response.text#获取数据

2.1访问头

邮寄页面检查/按12来打开开发者工具

拉到下面看user-agent:

#请求头:把python的代码伪装成客户端给服务器发送请求
headers={'自己的user-agent'}

3.筛选数据

selectors=parsel.Selector(html_data)#筛选数据
url_list=selectors.css('body > div.qn_mainbox > div > div.left_bar > ul > li > h2 > a::attr(href)').getall()#css选择器选取网页内容

右击该部分代码选中copy selector

然后将该部分的代码改成列表就行,body > div.qn_mainbox > div > div.left_bar > ul > li:nth-child(1) > h2 > a,即将li:nth-child(1)修改为li,不用选中第几个子部分,即为列表

url_list=selectors.css('body > div.qn_mainbox > div > div.left_bar > ul > li > h2 > a::attr(href)').getall()#css选择器选取网页内容

4.向每一个详情页发送请求

for detail_url in url_list:
    detail_id=detail_url.replace('/youji/','')
#replace是将不用的代码删掉,然后把有用的id加到url后面    detail_url='https://travel.qunar.com/travelbook/note/'+detail_id
    response_1=requests.get(detail_url)#向每一个详情页发送网络请求

5.获取数据

data_html_1=response_1.text#获取数据,网页源代码

6.提取数据

数据的代码去网页的开发者工具找,选中要提取的部分然后copy selector,这个就是你要的数据的代码,但是我们要文本部分,所以用::(两个冒号)来提取text部分,最后将提取的数据全都打印出来

结果如下:

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值