我在Anaconda上抓狂,并且尝试从this DigitalOcean guide运行示例代码,如下所示:
import scrapy
from scrapy import Spider
class BrickSetSpider(scrapy.Spider):
name = "brickset_spider"
start_urls = ['http://brickset.com/sets/year-2016']
我是Scrapy的初学者,请记住这一点。此代码将执行,但未显示任何输出。应该根据我从中获得代码的文章进行输出。请让我知道如何查看蜘蛛收集的信息。我正在从IDLE上运行该模块,如果我尝试在cmd中执行“ runspider”,则它表示即使我可以看到文件目录并在IDLE上打开它,也找不到我的python文件。
答案 0 :(得分:1)
您的蜘蛛缺少处理http://brickset.com/sets/year-2016的响应的回调方法。
尝试定义这样的回调方法:
import scrapy
from scrapy import Spider
class BrickSetSpider(scrapy.Spider):
name = "brickset_spider"
start_urls = ['http://brickset.com/sets/year-2016']
def parse(self, response):
self.log('I visited: {}'.format(response.url))
默认情况下,Scrapy调用您的Spider中定义的parse
方法来处理您的Spider生成的请求的响应。
也请参阅Scrapy官方教程:https://doc.scrapy.org/en/latest/intro/tutorial.html