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部分,最后将提取的数据全都打印出来
结果如下:
今天的文章 python爬去哪儿攻略分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/100665.html