基于Python的开源爬虫软件Scrapy快速入门

jopen 9年前

一、安装Scrapy

#导入GPG密钥  sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 627220E7    #添加软件源  echo 'deb http://archive.scrapy.org/ubuntu scrapy main' | sudo tee /etc/apt/sources.list.d/scrapy.list    #更新包列表并安装scrapy  sudo apt-get update && sudo apt-get install scrapy-0.22

二、Scrapy的组成

基于Python的开源爬虫软件Scrapy快速入门


三、快速开始Scrapy

运行Scrapy后,只需要重写一个download就可以了。

这里是别人的一个抓取招聘网站信息的例子,基本结构可以参考。但我运行时,出现很多错误,缺少misc目录,而且piplines的配置没有写出来。

诸君稍候,等我试一下,全部分享给大家。

根据官方的入门例程,快速开始:

首先,根据模版创建一个工程。

scrapy startproject tutorial

里面的目录和文件看起来是这样的:

tutorial/      scrapy.cfg            # deploy configuration file      tutorial/             # project's Python module, you'll import your code from here          __init__.py          items.py          # project items file          pipelines.py      # project pipelines file          settings.py       # project settings file          spiders/          # a directory where you'll later put your spiders              __init__.py              ...

进items.py,改成这样:

import scrapy    class DmozItem(scrapy.Item):      title = scrapy.Field()      link = scrapy.Field()      desc = scrapy.Field()

再进dmoz_spider.py,改成这样:

import scrapy    class DmozSpider(scrapy.Spider):      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] + '.html'          with open(filename, 'wb') as f:              f.write(response.body)

再运行这个:

scrapy crawl dmoz

但是,出错了哇!

找了个别的例子参考了下,把里面的scrapy.Spider改为scrapy.spider.Spider,如下:

class DmozSpider(scrapy.spider.Spider):

基本上就可以Run起来了。

可能是版本修改了,把Spider这个类放到了spider命名空间下了,可是例子没有改,有点坑人咧!

完整的教程在这里:http://scrapy-chs.readthedocs.org/zh_CN/latest/intro/tutorial.html

来自:http://my.oschina.net/u/2306127/blog/485455