都说爬虫可以做副业,python爬虫到底是什么?

本文介绍了Python爬虫的基本原理,包括爬虫流程、使用requests+Xpath实现简单爬取、应对特殊网站反爬策略、Scrapy框架的应用以及分布式爬虫的入门。文章还分享了学习路径和实用资源,包括实战项目如赶集网和链家网爬虫,以及如何通过系统学习和项目实操提高技能。
摘要由CSDN通过智能技术生成

1.了解爬虫是怎么实现的

2.实现简单的信息爬取

3.应对特殊网站的反爬虫措施

4.Scrapy 与 进阶分布式

具体学习路径和相关python爬虫资料整理了一份,建议想学python爬虫的一点要微信扫描下方CSDN官方认证二维码免费领取

在这里插入图片描述
01 了解爬虫是怎么实现的

大部分爬虫都是按“发送请求——获得页面——解析页面——抽取并储存内容”这样的流程来进行,这其实也是模拟了我们使用浏览器获取网页信息的过程。

简单来说,我们向服务器发送请求后,会得到返回的页面,通过解析页面之后,我们可以抽取我们想要的那部分信息,并存储在指定的文档或数据库中。

在这部分你可以简单了解 HTTP 协议及网页基础知识,比如 POST\GET、HTML、CSS、JS,简单了解即可,不需要系统学习。

02 实现简单的信息爬取

Python中爬虫相关的包很多:urllib、requests、bs4、scrapy、pyspider 等,建议你从requests+Xpath 开始,requests 负责连接网站,返回网页,Xpath 用于解析网页,便于抽取数据。

如果你用过 BeautifulSoup,会发现 Xpath 要省事不少,一层一层检查元素代码的工作,全都省略了。掌握之后,你会发现爬虫的基本套路都差不多,一般的静态网站根本不在话下,像知乎、豆瓣等网站的公开信息都可以爬取下来。

当然如果你需要爬取异步加载的网站,可以学习浏览器抓包分析真实请求或者学习Selenium来实现自动化爬取,这样,知乎、时光网、猫途鹰这些动态的网站也基本没问题了。

你还需要了解 Python 的基础知识,比如:文件读写操作:用来读取参数、保存爬取内容list(列表)、dict(字典):用来序列化爬取的数据条件判断(if/else):解决爬虫中的判断是否执行循环和迭代(for ……while):用来循环爬虫步骤。

03 应对特殊网站的反爬机制

爬虫过程中也会经历一些绝望啊,比如被网站封IP、比如各种奇怪的验证码、userAgent访问限制、各种动态加载等等。

遇到这些反爬虫的手段,当然还需要一些高级的技巧来应对,常规的比如访问频率控制、使用代理IP池、抓包、验证码的OCR处理等等。

比如我们经常发现有的网站翻页后url并不变化,这通常就是异步加载。我们用开发者工具去分析网页加载信息,通常能够得到意外的收获。

往往网站在高效开发和反爬虫之间会偏向前者,这也为爬虫提供了空间,掌握这些应对反爬虫的技巧,绝大部分的网站已经难不到你了。

04 Scrapy 与进阶分布式

使用 requests+xpath 和抓包大法确实可以解决很多网站信息的爬取,但是对于信息量比较大或者需要分模块爬取的话,就会显得寸步难行。

后来应用到了强大的 Scrapy 框架,它不仅能便捷地构建 Request,还有强大的 Selector 能够方便地解析 Response,然而最让人惊喜的还是它超高的性能,可以将爬虫工程化、模块化。

学会 Scrapy,自己去尝试搭建了简单的爬虫框架,在做大规模数据爬取的时候能够结构化、工程化地思考大规模的爬取问题,这使我可以从爬虫工程的维度去思考问题。

再后来开始逐渐接触到分布式爬虫,这个东西听着挺唬人,但其实就是利用多线程的原理让多个爬虫同时工作,能够实现更高的效率。

其实学习到这里,你基本可以说就是一个爬虫老司机了,外行看很难,但其实并没有那么复杂。

因为爬虫这种技术,既不需要你系统地精通一门语言,也不需要多么高深的数据库技术,高效的姿势就是从实际的项目中去学习这些零散的知识点,你能保证每次学到的都是最需要的那部分。

当然唯一麻烦的是,在具体的问题中,如何找到具体需要的那部分学习资源、如何筛选和甄别,是很多初学者面临的一个大问题。

不过不用担心,我给你准备了一门好玩的爬虫公开课,除了为你提供一条清晰的学习路径,还有最实用的学习资源以及庞大的主流爬虫案例库。短时间的学习,你就能够很好地掌握爬虫这个技能,获取你想得到的数据。

想听爬虫公开课的点击下方卡片进群开通免费听课权限

点此免费领取:CSDN大礼包:《python学习路线&全套学习资料》免费分享

分享一些网站爬虫案例,这些案例在公开课中也会学到。

项目一:赶集网实战项目

学会使用正则表达式提取整个网页的数据。
在这里插入图片描述

项目二:链家网分布式爬虫

1、用Scrapy框架实现商业爬虫。

2、用多台机器实现分布式爬虫。

3、实现全国各个省市二手房信息的爬取。

4、将爬取下来的数据存储到redis中。
在这里插入图片描述
还有其他一些爬虫,这些都比较简单,非常适合新入门的小伙伴培养信心。

1、微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。

2、豆瓣读书爬虫。可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储,存储到Excel中,可方便大家筛选搜罗,比如筛选评价人数>1000的高分书籍;可依据不同的主题存储到Excel不同的Sheet ,采用User Agent伪装为浏览器进行爬取,并加入随机延时来更好的模仿浏览器行为,避免爬虫被封。

3、Bilibili用户爬虫。总数据数:20119918,抓取字段:用户id,昵称,性别,头像,等级,经验值,粉丝数,生日,地址,注册时间,签名,等级与经验值等。抓取之后生成B站用户数据报告。

4、新浪微博爬虫。主要爬取新浪微博用户的个人信息、微博信息、粉丝和关注。代码获取新浪微博Cookie进行登录,可通过多账号登录来防止新浪的反扒。主要使用 scrapy 爬虫框架。

5、京东爬虫。基于scrapy的京东网站爬虫,保存格式为csv。

6、QQ 群爬虫。批量抓取 QQ 群信息,包括群名称、群号、群人数、群主、群简介等内容,最终生成 XLS(X) / CSV 结果文件。

7、机票爬虫(去哪儿和携程网)。Findtrip是一个基于Scrapy的机票爬虫,目前整合了国内两大机票网站(去哪儿 + 携程)。

。。。还有宅男喜欢的爬取美女图片,爬取视频,爬取资料,爬取音乐等,这些小案例怎么爬取,相关教程有公开课,也有相关资料,感兴趣的可以点击下方卡片进群领取。

python爬虫学会了,基本原理了解清楚,项目实操也没问题,就可以用python爬虫挣钱了。

总结了下几种爬虫挣钱的方式。

1、最典型的就是找爬虫外包活儿。

这个真是体力活,最早是在国外各个freelancer网站上找适合个人做的小项目,看见了就赶紧去bid一下,把价格标得死死的,由于是挣dollar,别人标几百刀,我就标几十刀,价格战。就是这样做些体力活,不过有个问题是我们跟老美时差是12小时,刚好是颠倒的,他们白天干活的时候,我们刚好是凌晨,所以在回复他们信息时就很延迟,另外又加上有阿三来竞争,那个bid价格惨目忍睹,做了半年多就放弃了。

国内有猪八戒,A5,程序员客栈等外包平台,如果是一个人的话,你只能接到一些小活做做。大活都是一个团队才能接下,甲方要的时间又紧,一个人做不下来。

2、爬数据做网站

那会儿开始接触运营,了解到一些做流量,做网盟挣钱的一些方法。挺佩服做运营的热,觉得鬼点子挺多的(褒义),总是会想到一些做流量的方法,但是他们就是需要靠技术去帮忙实现,去帮忙抓数据,那会我就在思考我懂做网站,抓数据都没问题,只要我能融汇运营技巧,就可以靠个人来挣钱钱了,于是就学习了一些SEO,和做社群的运营方法。开始抓数据,来做网站挣钱,每个月有小几千块钱,虽然挣得不多,但做成之后不需要怎么维护,也算是有被动收入了。

做网站挣网盟的好处是,只要网站有流量就有网盟收入,不需要你花时间去接广告这些。能做到每天数万IP的话,每年的网盟收入也能有数万,乃至数十万RMB。

这里抓数据做网站不是去做垃圾网站,也不是去非法抓取内容。我不建议去抓有内容版权的网站,这样你容易进去蹲几年。我说的是结构化数据,数据整合,把原本分散在各个地方无版权的数据抓取过来,抽取整合成完整的信息,提供给用户,这样对用户是增益。因为原本信息是分散在各处的,需要用户在不同渠道,不同网站上查看。典型的诸如企业工商信息,这些信息是公开的,没有版权。

3、做公众号/自媒体/独立博客

学Python,写爬虫的人越来越多,很多又是非计算机科班出身。所以把用Python写爬虫这一块的需求撑大了,但凡工作上的实践经验多一点,其实是有很多可以写的经验总结的。

不要认为一定要输出多么高深的内容,才能写公众号,做博客。其实写太技术了没有人看,刚才我也说了,大部分受众是非计算机科班的,他们需要的是你能较为简单易懂的说明白怎么上手,怎么入门,有一些小程序,演示示例来练手。所以写的内容要接地气,推广公号相对还是容易,几个公号主做下互推,做做送书活动,就有基础的关注量了。其它就取决于你写文章的勤奋程度和内容是否吸引人了。

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。

别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。

我先来介绍一下这些东西怎么用,文末抱走。


(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

(4)200多本电子书

这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。

基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。

(5)Python知识点汇总

知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。

在这里插入图片描述

(6)其他资料

还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。

在这里插入图片描述

这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值