在这里插入图片描述

感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:

① 2000多本Python电子书(主流和经典的书籍应该都有了)

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且经典的练手项目及源码)

④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

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

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

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

互联网的数据爆炸式的增长,而利用 Python 爬虫我们可以获取大量有价值的数据:

1.爬取数据,进行市场调研和商业分析(全套教程文末领取哈)

爬取知乎优质答案,筛选各话题下最优质的内容; 抓取房产网站买卖信息,分析房价变化趋势、做不同区域的房价分析;爬取招聘网站职位信息,分析各行业人才需求情况及薪资水平。

2.作为机器学习、数据挖掘的原始数据

比如你要做一个推荐系统,那么你可以去爬取更多维度的数据,做出更好的模型。

3.爬取优质的资源:图片、文本、视频

爬取商品(店铺)评论以及各种图片网站,获得图片资源以及评论文本数据。

掌握正确的方法,在短时间内做到能够爬取主流网站的数据,其实非常容易实现。

私信小编001 领取完整项目代码!

但建议你从一开始就要有一个具体的目标,在目标的驱动下,你的学习才会更加精准和高效。这里给你一条平滑的、零基础快速入门的学习路径:

1.了解爬虫的基本原理及过程

2.Requests+Xpath 实现通用爬虫套路

3.了解非结构化数据的存储

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

5.Scrapy 与 MongoDB,进阶分布式

01

了解爬虫的基本原理及过程

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

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

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

02

学习 Python 包并实现基本的爬虫过程

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

如果你用过 BeautifulSoup,会发现 Xpath 要省事不少,一层一层检查元素代码的工作,全都省略了。掌握之后,你会发现爬虫的基本套路都差不多,一般的静态网站根本不在话下,小猪、豆瓣、糗事百科、腾讯新闻等基本上都可以上手了。

来看一个爬取豆瓣短评的例子:

img

选中第一条短评,右键-“检查”,即可查看源代码

img

把短评信息的XPath信息复制下来

我们通过定位,得到了第一条短评的 XPath 信息:

img

如果我们想爬取很多条短评,那么自然应该去获取(复制)更多这样的 XPath:

img

观察第1、2、3条短评的 XPath,你会发现规律,只有后面的序号不一样,恰好与短评的序号相对应。那如果我们想爬取这个页面所有的短评信息,那么不要这个序号就好了呀。

通过XPath信息,我们就可以用简单的代码将其爬取下来了:

img

img

爬取的该页面所有的短评信息

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

你还需要了解 Python 的基础知识,比如:

文件读写操作:用来读取参数、保存爬取内容

list(列表)、dict(字典):用来序列化爬取的数据

条件判断(if/else):解决爬虫中的判断是否执行

循环和迭代(for ……while):用来循环爬虫步骤

03

非结构化数据的存储

爬回来的数据可以直接用文档形式存在本地,也可以存入数据库中。

开始数据量不大的时候,你可以直接通过 Python 的语法或 pandas 的方法将数据存为text、csv这样的文件。还是延续上面的例子:

用Python的基础语言实现存储:

img

用pandas的语言来存储:

img

这两段代码都可将爬下来的短评信息存储起来,把代码贴在爬取代码后面即可。

img

存储的该页的短评数据

当然你可能发现爬回来的数据并不是干净的,可能会有缺失、错误等等,你还需要对数据进行清洗,可以学习 pandas 包,掌握以下知识点就好:

缺失值处理:对缺失数据行进行删除或填充

重复值处理:重复值的判断与删除

空格和异常值处理:清楚不必要的空格和极端、异常数据

数据分组:数据划分、分别执行函数、数据重组

04

掌握各种技巧,应对特殊网站的反爬措施

爬取一个页面的的数据是没问题了,但是我们通常是要爬取多个页面。

这个时候就要看看在翻页的时候url是如何变化了,还是以短评的页面为例,我们来看多个页面的url有什么不同:

img

通过前四个页面,我们就能够发现规律了,不同的页面,只是在最后标记了页面的序号。我们以爬取5个页面为例,写一个循环更新页面地址就好了。

img

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

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

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

img

通过开发者工具分析加载的信息

比如很多时候如果我们发现网页不能通过代码访问,可以尝试加入userAgent 信息,甚至是浏览器的 cookie 信息。

img

浏览器中的userAgent信息

img

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

一、Python所有方向的学习路线

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

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

四、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

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

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

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

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐