python - scraping - Scrapy Craigslist Scraper de Scrapy
scrapy scraping (1)
Estoy intentando raspar los anuncios de Craigslist usando Scrapy para extraer los artículos que están a la venta.
Puedo extraer la fecha, el título de la publicación y la URL de la publicación, pero tengo problemas para extraer el precio .
Por algún motivo, el código actual extrae todos los precios, pero cuando elimino el // antes de que el precio se amplíe, el campo de precios vuelve a estar vacío.
¿Alguien puede revisar el código a continuación y ayudarme?
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
itempp
parece estar dentro de otro elemento, itempnr
. Tal vez funcionaría si cambiaras //span[@class="itempp"]/text()
para span[@class="itempnr"]/span[@class="itempp"]/text()
.