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