2011-09-21 93 views
-1

我已经开始在Ubuntu 11使用scrapy和面对的问题。具体地,在下面的代码解析功能不执行,尽管终端显示所执行的蜘蛛和成功Scrapy“分析”函数没有被执行

from scrapy.contrib.spiders import CrawlSpider 
from scrapy.selector import HtmlXPathSelector 



class myTestSpider(CrawlSpider): 
    name="go4mumbai.com" 
    domain_name = "go4mumbai.com" 
    start_urls = ["http://www.go4mumbai.com/Mumbai_Bus_Route.php?busno=1"] 

def parse(self, response): 
    hxs = HtmlXPathSelector(response) 
    stopNames=hxs.select('//table[@cellspacing="2"]/tr/td[2]/a/text()').extract() 
    print len(stopNames) 

SPIDER = myTestSpider() 

以下关闭是从终端

[email protected]:~/Desktop/ScrappyTest/basetest$ sudo scrapy crawl go4mumbai.com 
2011-09-21 15:33:56+0530 [scrapy] INFO: Scrapy 0.12.0.2528 started (bot: basetest) 
2011-09-21 15:33:56+0530 [scrapy] DEBUG: Enabled extensions: TelnetConsole,  SpiderContext, WebService, CoreStats, MemoryUsage, CloseSpider 
2011-09-21 15:33:56+0530 [scrapy] DEBUG: Enabled scheduler middlewares:  DuplicatesFilterMiddleware 
2011-09-21 15:33:56+0530 [scrapy] DEBUG: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, UserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, RedirectMiddleware, CookiesMiddleware, HttpCompressionMiddleware, DownloaderStats 
2011-09-21 15:33:56+0530 [scrapy] DEBUG: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware 
2011-09-21 15:33:56+0530 [scrapy] DEBUG: Enabled item pipelines: 
2011-09-21 15:33:56+0530 [scrapy] DEBUG: Telnet console listening on 0.0.0.0:6023 
2011-09-21 15:33:56+0530 [scrapy] DEBUG: Web service listening on 0.0.0.0:6080 
2011-09-21 15:33:56+0530 [go4mumbai.com] INFO: Spider opened 
2011-09-21 15:33:58+0530 [go4mumbai.com] DEBUG: Crawled (200) <GET http://www.go4mumbai.com/Mumbai_Bus_Route.php?busno=1> (referer: None) 
2011-09-21 15:33:58+0530 [go4mumbai.com] INFO: Closing spider (finished) 
2011-09-21 15:33:58+0530 [go4mumbai.com] INFO: Spider closed (finished) 

响应是否有的一些部分我错过了代码?请指教..

+0

尝试使用''而不是打印LEN(stopNames)''self.log(LEN(stopNames))。我不确定,但我认为打印在Crawler本身内不起作用。编辑:没关系,刚才试了一下,它似乎并没有成为一个问题 – naeg

回答

1

parse()功能似乎不属于你的蜘蛛类。 为一个缩进缩进整个函数,因此它属于该类并被调用。

+0

我没有缩进功能,但仍然没有输出。 – Rupin

+0

终端输出还是一样吗?您能否更新原始文章中的代码? – naeg

+0

我的坏!我确实得到了一个输出:) – Rupin