我正在尝试将抓取的结果导出到CSV文件中,但是导出已关闭。
import scrapy
class QuotesSpider(scrapy.Spider):
name = 'company'
start_urls = ['https://www.companiesintheuk.co.uk/Company/Find?q=a']
def parse(self, response):
# this gets the entire block
for i in response.css('div.search_result_title'):
#print ' '.join([j.strip() for j in i.css('::text').extract() if j.strip()])
yield {'Company name': ' '.join([j.strip() for j in i.css('::text').extract() if j.strip()])}
for i in response.css('div.searchAddress'):
#print ' '.join([j.strip() for j in i.css('::text').extract() if j.strip()])
yield {'Adress': ' '.join([j.strip() for j in i.css('::text\n').extract() if j.strip()])}
导出中显示一个公司名称,后跟20(其他所有地址)。然后是下一个公司名称,后跟相同的地址。
我看不出有什么问题,我希望任何人都能明白为什么。
答案 0 :(得分:1)
您需要什么格式?您拥有带有信息的块,可以将所有数据制成字典,然后产生它。
def parse(self, response):
for i in response.css('div.searchResult'):
yield {
'company_name': i.css('div.search_result_title a::text').get(),
'address': i.css('div.searchAddress::text').get(),
}
您到底想要什么?