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脚本中) 关于爬虫和反爬虫之间的斗争,最终胜利的一定是我们的爬虫,因为用户可以看到的数据,最后都可以爬到
|