Как я могу аккуратно отформатировать мой экспорт паука CSV? - PullRequest
0 голосов
/ 23 марта 2019

Я пытаюсь экспортировать полученные результаты в файл 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 (все остальные адреса). Затем название следующей компании с теми же адресами.

Я не вижу, что случилось, я надеюсь, что кто-нибудь понимает, почему ..

1 Ответ

1 голос
/ 23 марта 2019

Какой формат вам нужен?У вас есть блоки с информацией, вы можете создать словарь со всеми данными и затем выдать его.

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(),
        }

Что именно вы хотите?

...