基于ubuntu的安装
1.相关支撑包
apt-get install build-essential;
apt-get install python-dev;
apt-get install libxml2-dev;
apt-get install libxslt1-dev;
apt-get install python-setuptools;
2.安装scrapy
easy_install Scrapy;
3.测试安装效果
scrapy shell http://ziki.cn
4.创建工程
scrapy startproject tutorial
5.个性化
* 定义要抓取的字段
在 tutorial/tutorial/items.py 已有的类中加入代码:
title = Field()
link = Field()
desc = Field()
* 要建立一个Spider,你必须为scrapy.spider.BaseSpider创建一个子类,并确定三个主要的、强制的属性:
name:爬虫的识别名,它必须是唯一的,在不同的爬虫中你必须定义不同的名字.
start_urls:爬虫开始爬的一个URL列表。爬虫从这里开始抓取数据,所以,第一次下载的数据将会从这些URLS开始。其他子URL将会从这些起始URL中继承性生成。
parse():爬虫的方法,调用时候传入从每一个URL传回的Response对象作为参数,response将会是parse方法的唯一的一个参数,
这个方法负责解析返回的数据、匹配抓取的数据(解析为item)并跟踪更多的URL。
在 tutorial/tutorial/spiders/ 下新增文件 domz_spider.py (文件名基本任意)
from scrapy.spider import BaseSpider
class DmozSpider(BaseSpider):
name = "dmoz"
allowed_domains = ["dmoz.org"]
start_urls = [
"http://www.dmoz.org/Computers/Programming/Languages/Python/Books/",
"http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/"
]
def parse(self, response):
filename = response.url.split("/")[-2]
open(filename, 'wb').write(response.body)
6.执行工程
在 tutorial/ 下执行 scrapy crawl dmoz
FQA:
Q:运行工程时,提示找不到 service_identity 模块
A:执行easy_install service_identity
参考:
1.安装 http://blog.ziki.cn/1190.html
2.运行 http://www.cnblogs.com/txw1958/archive/2012/07/16/scrapy-tutorial.html