一、综述
开始这篇博文之前,调研了相关的爬虫方法,简单罗列冰山一角。
手动编写爬虫,httpclient 是常用工具。常见的请求方式有httpget 和httppost
http://blog.csdn.net/mr_tank_/article/details/17454315
http://blog.csdn.net/chszs/article/details/16854747
http://www.yeetrack.com/?p=779 这个教程很全面。供参考和备查
htmlunit
httpclient 对js 的支持比较差,有时候需要使用htmlunit 或者selenium。
http://www.360doc.com/content/13/1229/14/14875906_340995211.shtml
http://blog.csdn.net/strawbingo/article/details/5768421
http://www.cnblogs.com/microsoftmvp/p/3716750.html
抽取相关
当爬取了html 后,需要去除噪声广告,抽取有用的信息。jsoup 和tika 是非常强大的工具
http://jsoup.org/cookbook/
http://summerbell.iteye.com/blog/565922
github 开源爬虫库
https://github.com/CrawlScript/WebCollector
https://github.com/zhuoran/crawler4j
开源爬虫框架nutch
http://www.cnblogs.com/xuekyo/archive/2013/04/18/3028559.html
http://ahei.info/nutch-tutorial.htm
http://lc87624.iteye.com/blog/1625677
由于要学习python语言,就关注了python爬虫的方法,scrapy框架是个成熟的开源爬虫框架,因此选择其作为学习内容。
Scrapy是一个基于Twisted,纯Python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容、图片、视频等,非常方便。
二、scrapy框架
1、整体架构如下:
绿线是数据流向,首先从初始URL 开始,Scheduler 会将其交给 Downloader 进行下载,下载之后会交给 Spider 进行分析,Spider分析出来的结果有两种:一种是需要进一步抓取的链接,例如之前分析的“下一页