pythonl练习笔记——爬虫的初级、中级、高级所匹配的知识
1 初级爬虫
(1)Web前端的知识:HTML, CSS, JavaScript, DOM, DHTML, Ajax, jQuery,json等;
(2)正则表达式,能提取正常一般网页中想要的信息,比如某些特殊的文字,链接信息,知道什么是懒惰,什么是贪婪型的正则;
(3)会使用re, BeautifulSoup,XPath等获取一些DOM结构中的节点信息;
(4)知道什么是深度优先,广度优先的抓取算法,及实践中的使用规则;
(5)能分析简单网站的结构,会使用urllib,urllib2或requests库进行简单的数据抓取;
2 中级爬虫
(1)了解什么是Hash,会使用简单的MD5,SHA1等算法对数据进行Hash以便存储;
(2)熟悉HTTP,HTTPS协议的基础知识,了解GET,POST方法,了解HTTP头中的信息,包括返回状态码,编码,user-agent,cookie,session等;
(3)能设置User-Agent进行数据爬取,设置代理等;
(4)知道什么是Request,什么是Response,会使用Fiddle, Wireshark等工具抓取及分析简单的网络数据包;对于动态爬虫,要学会分析Ajax请求,模拟制造Post数据包请求,抓取客户端session等信息,对于一些简单的网站,能够通过模拟数据包进行自动登录;
(5)对于比较难搞定的网站,学会使用phatomjs+selenium抓取一些动态网页信息;
(6)并发下载,通过并行下载加速数据抓取;多线程的使用;
3 高级爬虫
(1)能使用Tesseract,百度AI等库进行验证码识别;
(2)能使用数据挖掘的技术,分类算法等避免死链等;
(3)会使用常用的数据库进行数据存储,查询,如Mongodb,Redis(大数据量的缓存)等;下载缓存,学习如何通过缓存避免重复下载的问题;Bloom Filter的使用;
(4)能使用机器学习的技术动态调整爬虫的爬取策略,从而避免被禁IP封号等;
(5)能使用一些开源框架Scrapy,Celery等分布式爬虫,能部署掌控分布式爬虫进行大规模的数据抓取;
pythonl练习笔记——爬虫的初级、中级、高级所匹配的知识的更多相关文章
- 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)
		
马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...
 - 天草(初级+中级+高级)VIP和黑鹰VIP破解教程(全部iso下载地址)
		
以下就是我收集的教程地址,之前我收集到的都是一课一课下载的,虽然这样,我也下载完了天草的全部课程.这里分享的是在一起的iso文件,比起一课课下载爽多了.~~ 还有这些教程都是从零起点开始教的,不用担心 ...
 - pythonl学习笔记——爬虫的基本常识
		
1 robots协议 Robots协议(也称为爬虫协议.机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可 ...
 - python 初级/中级/高级/核心
		
"一等对象": 满足条件:1.在运行时创建 2.能赋值给变量或数据结构中的元素 3.能作为参数传递给函数 4.能作为函数的返回结果 [ 整数.字符串.字典."所有函数&q ...
 - 笔记-爬虫-scrapy-srcapy-redis组件
		
笔记-爬虫-scrapy-srcapy-redis组件 1. 简介 scrapy是一个爬虫框架,但不支持分布式,scrapy-redis是为了更方便的实现scrapy分布式爬虫的组件. 可以 ...
 - 渗透测试工具Nmap从初级到高级使用教程
		
本文由阿德马翻译自国外网站,请尊重劳动成果,转载请注明出处,谢谢 Nmap是一款网络扫描和主机检测的非常有用的工具.Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它 ...
 - 渗透测试工具Nmap从初级到高级
		
Nmap是一款网络扫描和主机检测的非常有用的工具. Nmap是不局限于仅仅收集信息和枚举,同时可以用来作为一个漏洞探测器或安全扫描器.它可以适用于winodws,linux,mac等操作系统.Nmap ...
 - Python爬虫Urllib库的高级用法
		
Python爬虫Urllib库的高级用法 设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Head ...
 - 引用面试官文章 :如何准备Java初级和高级的技术面试
		
本人最近几年一直在做java后端方面的技术面试官,而在最近两周,又密集了面试了一些java初级和高级开发的候选人,在面试过程中,我自认为比较慎重,遇到问题回答不好的候选人,我总会再三从不同方面提问,只 ...
 
随机推荐
- 游戏:贪吃虫(GreedyMaggot)
			
该游戏类似于贪吃蛇,但可以在二维平面上以任意方向前进.当吃到食物手,食物会从虫头向虫尾移动,移到虫尾后,贪吃虫长度会增加.本来给它取名为贪吃蛆的,并且工程的英文名Maggot就是蛆的意思,后来想想有点 ...
 - OTL翻译(9) --常量的SQL语句
			
常量的SQL语句 一个没有绑定变量的SQL语句.SQL语句块或是存储过程就被称为常量的SQL语句.OTL通过一个静态的函数来执行这样的SQL语句. 例如: // static otl_cursor:: ...
 - libjson 编译和使用 - 2. 配置使用lib文件
			
以下转自:http://blog.csdn.net/laogong5i0/article/details/8223448 1. 在之前的libjson所在的解决方案里新建一个控制台应用程序,叫Test ...
 - go语言基础之结构体做函数参数 值传递和地址传递
			
1.结构体做函数参数值传递 示例: package main //必须有个main包 import "fmt" //定义一个结构体类型 type Student struct { ...
 - Open edX 学习、开发、运维相关链接整理
			
原文地址:http://edustack.org/ 所需知识: Linux Git Python (Django Mako coffeescript sass) (MongoDB Mysql) Ans ...
 - AngularJs 阻止事件运行,防止冒泡穿透事件
			
ng-click 低啊用方法后 添加语句$event.stopPropagation(); <button type="button" ng-click="doSo ...
 - document.execCommand("BackgroundImageCache",false,true)解决ie6下的背景图片缓存问题
			
E6下的背景图片每次使用都会重新发送请求(not 本地),连一个hover效果时候同样的背景图片仅仅位置不同而已,ie6都会再次发送请求,这个令人崩溃的事情需要解决掉:对于ie来说,filter:ex ...
 - Android -- taskAffinity
			
每个Activity都有taskAffinity属性,这个属性指出了它希望进入的Task.如果一个Activity没有显式的指明该Activity的taskAffinity,那么它的这个属性就等于Ap ...
 - (转)NGUI系列教程七(序列帧动画UITexture  和 UIsprit)
			
NGUI系列教程七(序列帧动画) 今天我给大家讲一下如何使用NGUI做序列帧动画.本节主要包括两方面内容,分别是使用UIspirit和使用UITexture 做序列帧动画.废话不说了,下面开始.还 ...
 - 使用Zxing开发Air版二维码扫描工具
			
简介实现的核心要点和几个须要注意的问题: 使用开源类库:Zxing,微信也是用的这个.下载地址:http://code.google.com/p/zxing/ as版:https://github.c ...