最近在学习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

posted on 2016-06-25 13:34  seven_clear  阅读(8636)  评论(0编辑  收藏  举报