基于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的组成
三、快速开始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