初学者应如何入门爬虫?

举报
xianyuplus 发表于 2021/03/30 21:32:56 2021/03/30
【摘要】 初学者应如何入门爬虫?首先,明确一点,爬虫并不是 Python 特有的,只要是可以处理 http 请求,使用哪种编程语言关系并不大。既然这么说为什么世面上关于爬虫大多和 Python 语言挂钩呢?因为 Python 的入门简单,上手快,而且有很多前辈们写好的轮子,用 Python 写爬虫相当与站在巨人的肩膀上摸高,舒服~ 那么初学者应该如何学爬虫呢?这个时候需要捋清楚一个逻辑,爬虫是做什么...

初学者应如何入门爬虫?

首先,明确一点,爬虫并不是 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 逆向文章希望能对你有所帮助~

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。