成为网络爬虫工程师需要了解哪些知识

描述

初级爬虫工程师:

Web前端的知识:HTML, CSS, JavaScript, DOM, DHTML, Ajax, jQuery,json等;

正则表达式,能提取正常一般网页中想要的信息,比如某些特殊的文字,链接信息,知道什么是懒惰,什么是贪婪型的正则;

会使用re, BeautifulSoup,XPath等获取一些DOM结构中的节点信息;

知道什么是深度优先,广度优先的抓取算法,及实践中的使用规则;

能分析简单网站的结构,会使用urllib,urllib2或requests库进行简单的数据抓取;

中级爬虫工程师:

了解什么是Hash,会使用简单的MD5,SHA1等算法对数据进行Hash以便存储;

熟悉HTTP,HTTPS协议的基础知识,了解GET,POST方法,了解HTTP头中的信息,包括返回状态码,编码,user-agent,cookie,session等;

能设置User-Agent进行数据爬取,设置代理等;

知道什么是Request,什么是Response,会使用Fiddle, Wireshark等工具抓取及分析简单的网络数据包;对于动态爬虫,要学会分析Ajax请求,模拟制造Post数据包请求,抓取客户端session等信息,对于一些简单的网站,能够通过模拟数据包进行自动登录;

对于比较难搞定的网站,学会使用浏览器+selenium抓取一些动态网页信息;

并发下载,通过并行下载加速数据抓取;多线程的使用;

高级爬虫工程师:

能使用Tesseract,百度AI,HOG+SVM,CNN等库进行验证码识别;

能使用数据挖掘的技术,分类算法等避免死链等;

会使用常用的数据库进行数据存储,查询,如Mongodb,Redis(大数据量的缓存)等;下载缓存,学习如何通过缓存避免重复下载的问题;Bloom Filter的使用;

能使用机器学习的技术动态调整爬虫的爬取策略,从而避免被禁IP封号等;

能使用一些开源框架Scrapy,Celery等分布式爬虫,能部署掌控分布式爬虫进行大规模的数据抓取;

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分