1.掌握python的基本语法知识


2.学会如何抓取HTML页面:

HTTP请求的处理:urlib、urlib2 及requests(reqests对urllib和urllib2进行了封装

,功能相当于二者的和)

处理后的请求可以模拟浏览器发送的请求,获取浏览器的响应


3.解析服务器响应的内容:

re、xpath、BeautifulSoup4(bs4)、jsonpath、等

给我们需要的数据定义一个匹配规则,符合这个规则的数据将会被匹配


4.如何采集动态HTML、验证码的处理:

通用的动态页面采集:Selenium + PhantomJS(模仿×××面浏览器,加载js等页面效果)

机器图像识别系统:Tesseract(谷歌维护的一个库)可以处理简单的验证码

专业的打码平台(后台有真人进行打码)可以处理复杂的验证码


5.Scrapy框架:(Scrapy,Pyspider):

高定制性及高性能(异步网络框架 twisted),所以下载数据速度非常快,提供了数据存储

、数据下载和提取规则等组件


6.分布式策略(功能强大,但是成本高):

scrapy-redis、以Redis数据库为核心的一套组件,让scrapy框架支持分布式的功能,主

主要在redis里做请求指纹去重、请求分配、数据临时存储


7.爬虫、反爬虫、反反爬虫 之间的斗争

User-Agent、代理、验证码、动态数据加载、加密数据(加密方法最终隐藏在网站中的

某个JS脚本中)

关于爬虫和反爬虫之间的斗争,最终胜利的一定是我们的爬虫,因为用户可以看到的数

据,最后都可以爬到