参考:http://www.cnblogs.com/txw1958/archive/2012/07/16/scrapy-tutorial.html
一、简介:
Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。 Scrapy,吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。
Scrapy,一个为遍历爬行网站、分解获取数据而设计的应用程序框架,它可以应用在广泛领域:数据挖掘、信息处理和或者历史片(历史记录)打包等等 Scrapy,原本是设计用来屏幕抓取(更精确的说,是网络抓取)的目的,但它也可以用来访问API来提取数据,比如Amazon的AWS或者用来当作通常目的应用的网络蜘蛛
二、安装:
环境:linux、ubuntu 方法:easy_install scrapy
三、入门实例:
1、创建scrapy project:
mkdir /opt/program/python/myScrapy cd /opt/program/python/myScrapy scrapy startproject tutorial
2、生成的目录结构:
root@jeff:/opt/program/python/myScrapy# tree tutorial/ tutorial/ ├── scrapy.cfg#相关配置文件 └── tutorial #相关代码 ├── Books ├── __init__.py ├── __init__.pyc ├── items.py ├── pipelines.py ├── Resources ├── settings.py ├── settings.pyc └── spiders#spiders目录 ├── Books ├── dmoz_spider.py ├── dmoz_spider.pyc ├── __init__.py ├── __init__.pyc └── Resources 2 directories, 15 files
3、编辑items.py
个人理解:类似django框架中的model,用来架构需要处理的数据
from scrapy.item import Item, Field class DmozItem(Item): title = Field() link = Field() desc = Field()
4、创建爬虫
1)编辑 /opt/program/python/myScrapy/tutorial/tutorial/spiders/my_spider.py
from scrapy.spider import BaseSpider class DmozSpider(BaseSpider): name = "spider_name" allowed_domains = ["some.org"] start_urls = [ "http://...", "http://...", ] def parse(self, response): filename = response.url.split("/")[-2] open(filename, 'wb').write(response.body)
5、使用爬虫:
root@jeff:/opt/program/python/myScrapy/tutorial/tutorial/spiders# scrapy crawl spider_name