初学者应如何入门爬虫?
初学者应如何入门爬虫?
首先,明确一点,爬虫并不是 Python 特有的,只要是可以处理 http 请求,使用哪种编程语言关系并不大。
既然这么说为什么世面上关于爬虫大多和 Python 语言挂钩呢?
因为 Python 的入门简单,上手快,而且有很多前辈们写好的轮子,用 Python 写爬虫相当与站在巨人的肩膀上摸高,舒服~
那么初学者应该如何学爬虫呢?
这个时候需要捋清楚一个逻辑,爬虫是做什么的,爬虫是在互联网上定向抓取数据的程序
既然是抓取数据那么就会牵扯到获取数据、解析数据、数据存储三个部分,那么入门爬虫就需要针对这三个部分的内容学习
当然这个前提是熟悉一门编程语言,接下来我以 Python 举例
数据获取
1、requests:在 Python 中最常用的请求库就是 requests
这是新手入门爬虫必会的 Python 库,可以使用它发起请求
2、aiohttp:因为 Python 语言 GIL 锁的存在,多线程请求并没有我们想象的那么强,所以为了提高单线程的效率,aiohttp 也是需要学习的请求库
3、selenium:selenium 是应用于自动化测试的库,但是在我们遇到需要登陆或者页面加密的时候,使用 selenium 可以简单的完成页面加密的绕过和模拟登陆
解析数据
解析页面数据的库其实没有什么难的库,常用的是 xpath 和 pyquery,同时可以使用插件 xpath helper 辅助编写 xpath 表达式
数据存储
存储小规模数据可以使用本地的文件存储 txt、json 或 csv 文件
存储大规模数据可以使用 mysql、mongo 和 redis,分别对应 Python 中 pymysql、pymongo、redis 三个库
除去上面的三大部分外,还有 Python 爬虫中常用的两个爬虫框架 Scrapy 和 Pyspider 可以帮你熟悉工程化爬虫的编写
当你学习完上面的全部内容后,可以通过学习崔大和韦世东的爬虫书来巩固基础。
崔大的《 Python 3网络爬虫开发实战 》里面详细的写了上面三大部分用到的所有库,平时我都用来当工具书,随查随用~ 实在详细
东哥的《 Python3 反爬虫原理与绕过实战 》里面详细的介绍了我们在爬取网站过程中遇到的反爬技术原理,知己知彼方能百战百胜,好评~
学完上述的全部内容后,就可以就遇到的反爬来深入学习 Js 逆向或 App 逆向爬虫,接下来就是爬虫的进阶内容了,毕竟国内反爬技术日新月异不加紧学习就要落伍了。
关于 Js 逆向的学习可以看看我的 Js 逆向文章希望能对你有所帮助~
- 点赞
- 收藏
- 关注作者
评论(0)