(0)为什么要学习爬虫
最近刷抖音看到一个话题是“为什么要找程序员老公?”,其中一条理由是:写个python网络投票爬虫,稳稳让自家孩子成为幼儿园最美宝宝。当然这算是爬虫的其中一个应用。
在这里,我学习爬虫的初衷主要是为了完善自己数据科学知识体系。还记得一次NLP相关实习的面试,面试官问你的数据如何获得的?的确,NLP竞赛的文本数据是现成的,但在实际的中文NLP任务中,文本数据都是要自己收集的,这其中最主要的方式就是爬虫。
又比如,一个数据增长的实习,需要对竞品在微博,知乎,淘宝新媒体渠道的广告投放进行分析,这时候就非爬虫不可了,当然微博的API也能部分解决问题。
因此,爬虫是一项基础技能。巧妇难为无米之炊,特别是处在这个大数据时代,从互联网上获取有用的数据是十分重要的,尽管爬虫还处在一个灰色地带。
那么python爬虫能爬什么呢?只要用户权限能看到的内容,都是可以爬取的。比如只要有爱奇艺的VIP用户权限,对应的视频也自然可以爬取。
(1)python3爬虫思维导图
以下是我简单总结了下学习python3爬虫的路线图:
首先,我并没有前端的基础,因此对这方面的知识点也是边学变查的,够用就好。
其次,以上路线图并没有包含python3爬虫进阶的内容,比如Scrapy 爬虫框架,分布式爬虫等,这些技术目前对我而言还用不到,主要方向还是数据科学。
最后,感觉爬虫的学习涉及到很多技术细节,开这个系列的主要目的也是为了更好的总结之用。当然,对于有前段开发基础的人,很多知识点会很熟悉,但没有也不用担心,我会写的比较细致。
如果让我说学习爬虫的难点在哪儿?那就是随便给你一个网页,如何快速分析目标网站,选择合适的技术路线了。在获取了响应内容后,解析大部分都是体力活儿了。虽然有智能解析的说法,但是做到通用估计很难。