【发布时间】:2018-04-06 14:04:29
【问题描述】:
我正在尝试抓取瑞典房地产网站 www.booli.se 。但是,我不知道如何跟踪每所房子的链接并提取例如价格、房间、年龄等。我只知道如何抓取一页,我似乎无法解决这个问题。我想做类似的事情:
for link in website:
follow link
attribute1 = item.css('cssobject::text').extract()[1]
attribute2 = item.ss('cssobject::text').extract()[2]
yield{'Attribute 1': attribute1, 'Attribute 2': attribute2}
这样我就可以抓取数据并将其输出到 excel 文件中。我在不使用链接的情况下抓取简单页面的代码如下:
import scrapy
class BooliSpider(scrapy.Spider):
name = "boolidata"
start_urls = [
'https://www.booli.se/slutpriser/lund/116978/'
]
'''def parse(self, response):
for link in response.css('.nav-list a::attr(href)').extract():
yield scrapy.Request(url=response.urljoin(link),
callback=self.collect_data)'''
def parse(self, response):
for item in response.css('li.search-list__item'):
size = item.css('span.search-list__row::text').extract()[1]
price = item.css('span.search-list__row::text').extract()[3]
m2price = item.css('span.search-list__row::text').extract()[4]
yield {'Size': size, 'Price': price, 'M2price': m2price}
感谢您的帮助。真的很难将所有内容放在一起并将特定链接内容输出到有凝聚力的输出文件 (excel)。
【问题讨论】:
-
您没有从以前的帖子中选择任何答案,即使您有符合条件的答案,为什么?
标签: python python-3.x web-scraping scrapy web-crawler