1. 爬虫爬取数据一共分几步?
问:爬虫爬取数据一共分几步?
答:拢共分3步
第1步,发送http请求
第2步,解析服务器返回的数据,通常是html
第3步,把数据存储起来
天底下所有的爬虫,不论有多么复杂,抽丝剥茧之后,就剩下这三步,所有的技术细节都围绕着这三个步骤展开
2.1 发送http请求
不论是自己手写爬虫,还是利用框架写爬虫,都必然要向服务器发送http请求,同时解决网站的反爬策略,不然,你的请求不能得到正常的响应
2.2 解析服务器返回的数据
得到服务器的响应后,通常收到的是html网页源码,这时,就需要你解析html网页里的内容,找到你所需要的数据
2.3 把数据存储起来
得到数据后,要考虑把数据存储起来,否则写爬虫还有什么意义呢
2. 学习爬虫的路线规划
既然知晓了一般爬虫的工作步骤,那么规划爬虫学习路径也就变得简单了,我画了一张简单的学习爬虫所需要的技术图谱,学习过程中,应当从下往上学习
2.1 前端
前端技术主要包括html和javascript, 所有网页内容的呈现都依赖这两项技术,至少做到理解html的基本制作,网页内容的动态加载都是通过javascript完成的,了解这些内容,才能够利用简单的工具实现对网页的分析,对目标数据的定位
2.2 发送请求
发送请求,使用requests就足够了,这里我不建议初学者直接学习爬虫框架,框架隐藏了很多技术细节,做了很多封装,的确可以提高生产效率,但如果你不懂相对底层的技术,就无法有效的利用框架,在程序出现问题时,更不知道如何解决
2.3 解析数据
解析数据这块,最流行的是BeautifulSoup, 其次是lxml, html5lib是纯python实现的, 对目标数的解析,有人会用正则表达式,我更喜欢使用xpath语法解析数据
2.4 存储数据
存储数据,需要你对数据库有所了解,虽然也可以写入到文件中,但那只适用于小爬虫,数据量一旦大了还是需要使用数据,msyql和mongo,我推荐学习mongo,不用设计表结构,开发效率更高