基于Python的開源爬蟲軟件Scrapy快速入門

jopen 9年前發布 | 23K 次閱讀 Scrapy 網絡爬蟲

一、安裝Scrapy

#導入GPG密鑰
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 627220E7

添加軟件源

echo 'deb 

更新包列表并安裝scrapy

sudo apt-get update && sudo apt-get install scrapy-0.22</pre>

二、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

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!