最近在學習scrapy,就想着用pycharm調試,但不知道怎么弄,從網上搜了很多方法,這里總結一個我試成功了的。
首先當然是安裝scrapy,安裝教程什么的網上一大堆,這里推薦一個詳細的:http://blog.csdn.net/php_fly/article/details/19364913,里面有安的東西的資源。有幾點需要注意一下:1)Python配置環境變量最好把Scripts路徑也加上,如我的是D:\Python27\Scripts。因為裝scrapy要用到;2)裝zope.interface-4.0.5-py2.7-win32.egg時打開方式選Scripts路徑下的easy_install.exe。其他的應該沒問題了。
大致流程是:先用命令行新建一個scrapy項目->用pycharm打開該項目->編寫自己的爬蟲代碼->運行。
找到你想建項目的目錄,然后在該目錄下啟動cmd,輸入scrapy startproject name(自定義的項目名),沒意外的話你會在你的目錄下看到name文件夾,這就是你的scrapy項目,打開該文件夾,會有一個同名文件夾和scrapy.cfg文件。©seven_clear
然后用pycharm打開該項目,創建自己的爬蟲,具體可參考:http://scrapy-chs.readthedocs.io/zh_CN/latest/intro/tutorial.html,不過我安的是0.20.2版本,在定義自己的爬蟲類時代碼有些許不同:
# coding:utf-8 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)
import的是BaseSpider,其他的都是文檔上的代碼。編輯items.py時把自己的item類寫在原類下面:
# Define here the models for your scraped items # # See documentation in: # http://doc.scrapy.org/en/latest/topics/items.html from scrapy.item import Item, Field class TestscrapyItem(Item): # define the fields for your item here like: # name = Field() pass class DmozItem(Item): title = Field() link = Field() desc = Field()
好了,現在就差運行了,只需要寫一個命令行即可,為了方便,寫進一個Python文件中,名字自定義(可以命名為main),和scrapy.cfg在同級目錄下,內容就兩行:
# coding:utf-8 from scrapy import cmdline cmdline.execute("scrapy crawl dmoz".split())
dmoz是爬蟲的名字,可變。這樣運行我們的main.py就可以了。怎么樣,簡單吧,有些事要自己親自做過,回頭才發現真的很簡單。©seven_clear