假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

栏目: Python · 发布时间: 6年前

内容简介:作者 | timber

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

作者 | timber

本文经授权转自数据森麟(ID: shujusenlin)

责编 | 胡巍巍

五一假期还有两天,短途旅行依然来得及。

这里送给大家一个用于途牛网爬取旅行线路线获取的爬虫,预祝大家都度过一个愉快的五一假期。

本爬虫最先是用 Scrapy 写的,很多地方没完善好最终停歇了(定制起来比较难),笔者觉得用 Scrapy   展示出来并不是那么优雅,所以就拆了出来。主要运用到的知识点:PyQuery、Selenium、 MySQL 、ip_pool、进程,因为代理池是花了钱的,所以文中还是次要说一下方法就好了。免得一些调皮捣蛋的小伙伴瞎整。

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

页面分析

OK!进入正题,首先把该装的库装好,假设你在运行过程中出现 no model name xxxxx,你就 pip install xxxxx。首先来分析一波页面,罗列一下需要抓取的字段:

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

好的冷饭炒完,如果是新手,可以花个十来分钟去看一下 https://blog.csdn.net/weixin_42946604/article/details/86346615   这个小教程,了解具体怎么分析网页。笔者此次采用了 Selenium+Chrome 来抓取,我把它归在一起了,大家可以浏览一下我这具体的 Chrome 选项参数(自带注释):

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

这里提一下 Selenium 防检测的问题(非必须),如果你抓取过X团外卖的话,你会发现使用 Selenium 直接打开网页去请求的话,会出现这种问题。当然你可以加载电脑上的 Chrome 浏览器路径进来。

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

我采用了遍历 url_list 来抓取多个链接,如果过多了不是那么好看。

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

你可以往里面继续加,然后使用 for 循环逐一去请求就好了,接着就是获取到旅游产品的页面数,再把每一页的数据下载下来交给   data_save()   方法处理

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

这样是不是一只爬虫就写好了呢!真的上手简单,实用性也高。

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

代理池处理

过程中建议也可以去买,钱不多,少抽一包烟 or 少撩一次妹一个稳定实用的代理池就有了。免费的代理,除了免费啥作用 都起不到 ,而且很多小伙伴测试随机代理的时候,完整获得请求之后返回的结果,开心得不行了,但是不到一段功夫爬虫就嗝屁了。这种情况代理的匿名性也是很重要的。

假设1:你的代理已经在数据库中了,字段类似我这样的话,需要像这样拼接起来:

https://192.168.1.1:8080 

我自己是在同一个文件夹下,另外创建了一个 PY 文件用于测试&获取代理

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

代理测试就是另一个小爬虫,使用代理去请求,例如你可以去请求这个http://www.ip138.com/(IP 地址查询),请求返回的结果需要做字符编码问题,该网站是使用 GB2312。

然后只要判断获取的 IP 不是你本机的就行了,我是这样做的: 

我是每次抓取完一个产品就更换,换页不做更换。

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

JS 加载问题

这也是很常见的,不是所有情况下   bro.get(URL)   让返回结果,所有数据就都出来了,很多情况下数据是要触发事件来产生的,例如《刺激战场的官网》。

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

Selenium 的事件操作方法健全,让爬虫更像用户,让站长更分辨不清是真用户假用户,就让你抓狂!

我使用的方法还是挺老套的,直接 copy 我以前文章的代码,贴上来的:

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

数据存储

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

本文使用 PyMySQL,使用完随手关门习惯,“用完记得洗手【手动滑稽表情】”。

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

点火,出发!

让爬虫骑上你的大奔,轮子越多,跑得越快(当然要考虑到你电脑 处理能力)

笔者因为穷得叮当响只能开嘉陵摩托车,两轮!

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

点火,出发:

Tip:记得遵守交通规则,做个好市民哟

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

另附本文代码:https://pan.baidu.com/s/1TElQPWPG8ltudFP1pTo8bg 提取码: vwns

作者:timber ,在一家电子商务(外贸)公司任职运维,平常工作时我觉得敲命令的样子也很帅,个人博客地址 https://blog.csdn.net/weixin_42946604

【END】

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

作为码一代,想教码二代却无从下手:

听说少儿编程很火,可它有哪些好处呢?

孩子多大开始学习比较好呢?又该如何学习呢?

最新的编程教育政策又有哪些呢?

下面给大家介绍CSDN新成员: 极客宝宝(ID: geek_baby)

戳他了解更多↓↓↓

假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!

 热 文推 荐 

☞苏州到底有没有互联网?

☞41 岁蚂蚁金服总裁助理去世; 华为首款 5G 手机欧洲上市;库克首谈 5G iPhone | 极客头条

☞消失的手机玩家

☞真の硬核粉丝!小学生也参加杨超越杯,作品优秀!

☞ 阿里半跪过,任正非差点跳楼,京东被骗光钱:成年人的生活哪有容易二字?

☞不改变比特币, 如何扩容?

☞强推!盘点阿里巴巴 15 款开发者工具 | 程序员硬核评测

☞17篇论文入选CVPR 2019,百度AI都在关注什么?(附论文地址)

☞ 她说:为啥 程序员 都特想要机械键盘?这答案我服!

System.out.println("点个在看吧!");
console.log("点个在看吧!");
print("点个在看吧!");
printf("点个在看吧!\n");
cout << "点个在看吧!" << endl;
Console.WriteLine("点个在看吧!");
Response.Write("点个在看吧!");
alert("点个在看吧!")
echo "点个在看吧!"

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢


以上所述就是小编给大家介绍的《假期还剩 2 天,Python 爬取途牛网,揭秘哪里人少景美!》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序设计方法(中文版)

程序设计方法(中文版)

Matthias Fellisen / 黄林鹏、朱崇恺 / 人民邮电出版社 / 2003-12 / 49.00元

《程序设计方法》以Scheme语言为基础介绍计算和程序设计的一般理论和实践。《程序设计方法》由8个部分和7个独立的章节(第8、13、18、24、29、33、38章)组成。8个部分主要讨论程序设计,独立章节则介绍一些与程序设计和计算相关的话题。《程序设计方法》第1至第3部分介绍了基于数据驱动的程序设计基础。第4部分介绍了程序设计中的抽象问题。第5部分和第6部分是与递归及累积相关的内容。《程序设计方法......一起来看看 《程序设计方法(中文版)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试