之前有分享过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所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
👉入门学习视频👈
👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉100道Python练习题👈
检查学习结果。
👉面试刷题👈
资料领取
这份完整版的Python全套学习资料已为大家备好,朋友们如果需要可以微信扫描下方二维码添加,输入"领取资料" 可免费领取全套资料【有什么需要协作的还可以随时联系我】朋友圈也会不定时的更新最前言python知识。↓↓↓