Scrapy Python的Craigslist的刮板(Scrapy Python Craigsli

2019-08-17 16:09发布

我试图用刮向Scrapy提取可用于销售的项目Craigslist的分类。

我能够提取日期,文章标题和网址后 ,但我有麻烦提取价格 。

出于某种原因,当前的代码提取所有的价格,但是当我删除//价格区间前涨了价字段返回为空。

可有人请查看下面的代码,并帮助我吗?

from scrapy.spider import BaseSpider
    from scrapy.selector import HtmlXPathSelector
    from craigslist_sample.items import CraigslistSampleItem

    class MySpider(BaseSpider):
        name = "craig"
        allowed_domains = ["craigslist.org"]
        start_urls = ["http://longisland.craigslist.org/search/sss?sort=date&query=raptor%20660&srchType=T"]

def parse(self, response):
    hxs = HtmlXPathSelector(response)
    titles = hxs.select("//p")
    items = []
    for titles in titles:
        item = CraigslistSampleItem()
        item['date'] = titles.select('span[@class="itemdate"]/text()').extract()
        item ["title"] = titles.select("a/text()").extract()
        item ["link"] = titles.select("a/@href").extract()
        item ['price'] = titles.select('//span[@class="itempp"]/text()').extract()
        items.append(item)
    return items

Answer 1:

itempp似乎是另一元件的内部, itempnr 。 或许,如果你要改变它的工作//span[@class="itempp"]/text()span[@class="itempnr"]/span[@class="itempp"]/text()



文章来源: Scrapy Python Craigslist Scraper