Python爬虫自学 | 思维导图汇总
之前有分享过Python爬虫新手学习教程,有部分小白还是觉得有点迷糊。
所以今天做一次Python爬虫思维导图的汇总,让大家能够对整个Python爬虫知识框架更清楚。
先放一张完整的Python爬虫学习知识框架导图:
Python爬虫的工作流程无非就是获取数据——解析提取数据——存储数据这三步。
所以要想上手爬虫,这三步得先搞懂了。
在讲这三部分内容之前先啰嗦补充两个点:
(1)部分计算机网络知识
爬虫通过编程向网络服务器请求数据后,再对HTML解析,然后提取所需数据。
所以在这之前计算机网络知识还是要去补充学习的,对这块完全不懂怎么去爬网页?
也不用全都学,但HTTP & HTTPS、网络协议、网络结构(HTML语法、html标签、数据、css样式、js等等什么的)这些得知道。
(2)前期的Python基础
学习爬虫是有一定的前提的:不需要你做到完全精通Python,但基础要会!
比如:
- List dict:用来序列化你爬的东西
- 切片:用来对爬取的内容进行分割、生成
- 条件判断(if等):用来解决爬虫过程中哪些要哪些不要的问题
- 循环和迭代(for while):用来循环、重复爬虫动作
- 文件读写操作:用来读取参数、保存趴下来的内容等
像Python基础中的数据类型、数据结构、逻辑结构、列表、字典、字符串、if语句、for循环等一些最核心的语法结构是必须要弄清楚的!
还在Python基础学习阶段的小伙伴不用太着急,慢慢来,先把基础的东西学好再上手爬虫的学习会顺畅很多。
接下里重点讲一下获取数据——解析提取数据——存储数据这三部分的细分内容;
1 获取数据
爬虫爬取的目标绝大多数情况下要么是网页,要么是 App;
通常可以用到的请求库有Requests、urllib、aiohttp、selenium等。
我个人比较推荐新手掌握精通Requests库;
爬取网页最好的第三方库,简单简洁,有了它,Cookies、登录验证、代理设置等操作都不是事儿。
安装方法:
Anaconda中已经包含了这个库,如果要安装则:
使用命令:pip install requests
requests的7个主要方法:
最常被用到的两个方法:GET 和 POST。
GET - 从指定的资源请求数据
POST - 向指定的资源提交要被处理的数据
动态页面的爬取目前有两种方法:
1)分析页面请求
2)selenium模拟浏览器行为(霸王硬上弓,以后再说)
2 解析数据
对于 HTML 类型的页面来说,常用的解析方法无非就那么几种:BeautifulSoup,正则、XPath、CSS Selector;
另外对于某些接口,常见的可能就是 JSON、XML 类型,使用对应的库进行处理即可。
这里新手熟练掌握一到两种库的使用方法就行。
1> BeautifulSoup
是python的一个库,最主要的功能是从网页抓取数据。
一个灵活又方便的网页解析库,处理高效,支持多种解析器,利用它就不用编写正则表达式也能方便的实现网页信息的抓取。
2> Xpath
XPath的选择功能十分强大,它提供了非常简明的路径选择表达式,掌握以后基本不用正则表达式。
另外它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等。
几乎所有我们想要定位的节点,都可以用XPath来选择。
3> 正则表达式-re模块
正则表达式通常用于在文本中查找匹配的字符串,在 Python 中,我们可以使用内置的 re 模块来使用正则表达式。
有一点需要特别注意的是:
正则表达式使用 对特殊字符进行转义,所以如果我们要使用原始字符串,只需加一个 r 前缀。
示例:
re 模块的一般使用步骤:
- 使用 compile() 函数将正则表达式的字符串形式编译为一个 Pattern 对象
- 通过 Pattern 对象提供的一系列方法对文本进行匹配查找,获得匹配结果,一个 Match 对象。
- 最后使用 Match 对象提供的属性和方法获得信息,根据需要进行其他的操作。
3 存储数据
这一步比较简单,主要介绍两种存储方式:
①文件:如 JSON、CSV、TXT、图⽚、视频、⾳频等;
常用的一些库有 csv、xlwt、json、pandas、pickle、python-docx 等。
②数据库:分为关系型数据库、非关系型数据库;
如 MySQL、MongoDB、HBase 等,常用的库有 pymysql、redis-py、pymongo、py2neo、thrift。
建议学习掌握主流的一种数据存储方式即可
学到这里,爬虫的重点内容基本也学的差不多了。
如果你是想掌握更高的爬虫技术或者想走职业化的发展道路,那这些是远远不够的。
需要深入学习的地方还有很多…
比如掌握一些常用的应付反爬的技巧、爬虫框架scrapy、分布式爬虫等等,这些都是需要去深入学习的。
爬虫框架scrapy思维导图
最后的一些个人建议:
不管学习Python的哪个应用方向都需要勤动手练习滴,光是纸上谈兵是很难真正学会的,一定要坚持练习!学习没有捷径,不要急于求成!
关于Python学习指南
学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你,干货内容包括:
?Python所有方向的学习路线?
Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
?Python学习开发工具?
工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。
?Python入门学习视频?
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。
?Python实战练手案例&源码?
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
?全套PDF电子书?
书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。
?Python大厂面试资料?
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
?Python副业兼职学习路线?
? 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取【保证100%免费
】
还没有评论,来说两句吧...