Scrapy不抓内容但在shell中工作

时间:2014-02-14 12:27:28

标签: python xpath scrapy

我正在尝试使用Scrapy 0.22废弃项目,当我将其称为“scrapy crawl events_cinema”时,此代码无效 - 它显示技术信息且没有抓取内容(已抓取0页......等) )。

问题是当我在scrapy shell中测试xpath时,我的意思是"sel.xpath("//a[@class='title_link']/text()").extract()"显示正确的结果。

我对其他网站采用了相同的方法,但它确实有效,但在这里我无法弄清楚出了什么问题。

from scrapy.spider import Spider
from scrapy.selector import Selector
from events_rostov.items import EventsRostovItem
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor


class EventsCinemaSpider(CrawlSpider):
    name = "events_cinema"
    allowed_domains = ["afisha.161.ru"]
    start_urls = ["http://afisha.161.ru/afisha/cinema/"]

    def parse_items(self, response):
        sel = Selector(response)
        #movies = sel.xpath("//td[@class='event_container']")
        #items = []
        #for movie in movies:
        item = EventsRostovItem()
        item["title"] = sel.xpath("//a[@class='title_link']/text()").extract()
        item["link"] = sel.xpath("//a[@class='title_link']/@href").extract()
            #items.append(item)
        return item

1 个答案:

答案 0 :(得分:1)

您可能打算使用Spider而非CrawlerSpider,否则您必须为其添加一些规则,同时请注意Spider默认功能为parse并且不是parse_items