更新日期:2021.04.04
目录
1. 为什么打算学习爬虫?
二月起开始学习Python, 逐渐了解了Python语言的优势方向,发现不止各大深度学习框架的接口都有TA,在爬虫领域,TA更是绝对的霸主🦁🦁,那就爬一爬吧🙊🙊~
2. 对爬虫的理解
使用计算机语言,从网络中获取我们需要的信息。
把豆瓣爬虫类评分最高的书籍《Python 3 网络爬虫开发实战》大致看了一遍,对爬虫的基础,工具,框架和发展有一个系统性的了解,再在网上了解下不同视角的看法和相关信息。爬虫涉及了不同方面和深度的知识,在我看来,爬虫分为三个等级:
2.1 初级爬虫
可以爬取设置了简单反扒机制的网站的信息。
使用基本的爬虫工具按照通用流程爬取,解析并保存所需信息。具体如下:
- 获取第一个目标网页的源代码 (使用 requests库等基本工具)
- 解析代码 (会使用 bs4/ Xpath/Pyquery等基本工具中的一个 + re 库)
- 保存信息为常用文件类型,如Excel
- 继续爬取余下的网页,并重复以上 2和3步
- 可应对基本的反扒手段 (合理设置登录频率, 提交User-agent信息伪装浏览器, 使用session 携带 cookies等)
2.2 中级爬虫
可爬取设置了中级反扒机制的网站,提升爬取效率,初步处理数据并进行可视化。还可以爬取手机 app 的信息。需要解决的问题大致如下:
- 登录限制:输入用户名后,还需要其他辅助手段登录, 如滑块验证, 物品识别等,建立代理(池)
- 动态网页:不能直接获得网页的全部代码,需要点击, 下拉等操作
- 私密信息:网页代码中没有网页上显示的信息,如需解密字体或JavaScript
- 存储信息:可使用常用的数据库,如MySQL,MongDB
- 数据分析及可视化:会基本的数据分析并可视化展示
- 其他解析工具:熟悉多种基本解析工具
- 可以爬取手机 app 的信息
- 提升爬取效率(异步等方式)
2.3 高级爬虫
刚学了初级的知识,对于高级的认识还不明确。我觉得一个高级爬虫,应该具有建立爬虫框架的能力;可以设计并部署分布式爬虫;其他的,我还不知道, 知道了再补充~~
3. 学习线路图
3.1 成为一个初级爬虫~
可以爬取没有反扒机制的网站的信息 ~~
- 了解网页基础知识: html 和 CSS,
- 获取网页代码:学习使用 requests 库
- 解析网页代码:学习使用 bs4 库
- 精细解析代码:学习使用 re 库
- 保存为常用文件类型: 学习使用 xlwings 库操作Excel 存储
- 做两个小练习,综合使用以上工具~~
- 可应对基本的反扒手段 (合理设置登录频率, 提交User-agent信息伪装浏览器, 使用session 携带 cookies等)
3.2 成为一个中级爬虫~
如果…学下来发现有些主题很难…说不定会放弃一部分…
3.3 高级爬虫 - 暂时没有这个计划
4. 立flag
给自己点压力,立flag, 本周之内写出第一篇学习笔记🙈🙈🙈~~