爬虫
近几年Python已成为数据科学行业中大火的编程语言,越来越多小伙伴学习python。
那么学习爬虫的前期准备需要做些什么?学到什么程度才可以去找工作?
首先我们说下学习爬虫的前期准备:
1)一颗坚持不懈的心
2)web前端html的相关知识,看不懂网页怎么能行
3)Python的基础语法
4)最后一点,也是最重要的一点,你得有个电脑
当前面的条件你都具备,那么这个时候你就需要学习爬虫相关的知识点的了,例:
1)基本的爬虫工作原理
2)基本的http抓取工具:scarpy
3)分布式爬虫
4)Rq和scrapy的结合
5)网页解析
而且爬虫相关的居家必备的工具你必须得掌握。
1、F12开发者工具
作用:
1)查看源代码,快速定位元素
2)分析xpath,建议使用火狐或者谷歌浏览器,可以在源码界面直接右键查看
2、抓包工具
推荐火狐浏览器下的插件,比谷歌火狐系自带的F12工具都要好,可以方便查看网站收包发包的信息
3、火狐插件
是一款非常不错的xpath测试工具,当然了也有一些小缺点
xpath checker生成的是绝对路径,遇到一些动态生成的图标(常见的有列表翻页按钮等),飘忽不定的绝对路径很有可能造成错误,所以这里建议在真正分析的时候,只是作为参考。
4、正则表达测试工具
在线正则表达式测试,可以用来练手,因为很多小伙伴都说,正则比较难懂。
有些伙伴可能会说上面的我都了解,都懂,那是不是可以开始找这方面的工作呢?
答案当然是No,这些只是基础,下面就来看看学到什么程度就可以开始找工作,这些只是小编自己的心得体验,关于爬虫、关于工作,仅供参考。
暂且把目标定位初级爬虫工程师,简单列一下吧:
1、学到哪种程度
必要:
1)熟悉多线程编程、网络编程、HTTP协议相关
2)开发过完整爬虫项目(最好有全站爬虫经验,这个下面会说到)
3)反爬相关,cookie、ip池、验证码等等
4)熟练使用分布式
5)读懂js代码,这个真的很重要
非必要,建议:
1)了解消息队列,如RabbitMQ、Kafka、Redis等
2)具有数据挖掘、自然语言处理、信息检索、机器学习经验
3)熟悉APP数据采集、中间人代理
4)大数据处理(Hive/MR/Spark/Storm)
5)数据库Mysql,redis,mongdb
6)熟悉Git操作、linux环境开发
2、如何提升
就Python而言,会requests当然是不够的,还需要了解scrapy和pyspider这两个框架,scrapy_redis也是需要理解原理的。分布式如何搭建、如何解决其中遇到内存、速度问题。
3、什么叫全站爬取
最简单的拿拉钩来举例,搜索关键词,有30页,不要以为把这30页爬完就是全站爬取了,你应该想方法把所有数据全部爬下来。什么办法,通过筛选缩小范围,慢慢来就OK了。同时,每个职位还会有推荐职位,再写一个采集推荐的爬虫。
做到以上这些,恭喜你,可以开始找工作了。
领取专属 10元无门槛券
私享最新 技术干货