xlsxwriter не может создать файл в рекурсии, кто-нибудь может взглянуть?
import scrapy
import xlsxwriter
class QuotesSpider(scrapy.Spider):
name = "quotes"
def start_requests(self):
start_urls = [
'https://www.hotelgg.com/venue/mittitlt/',
]
создать книгу
filename = 'hotel-list.xlsx'
wb = xlsxwriter.Workbook(filename)
self.wb = wb
if start_urls[0] == 'https://www.hotelgg.com/venue/mittitlt/':
self.ws = wb.add_worksheet("nanshan")
отправил запрос на сканирование
yield scrapy.Request(url=start_urls[0], callback=self.parse)
def parse(self, response):
ws = self.ws
i = 0
# parse response
for quote in response.css('ul.hotel_list div.info'):
item = {
'name': quote.css('h3.title a::text').extract_first(),
'region': quote.css('span.region::text').extract_first(),
'street': quote.css('span.street::text').extract_first(),
'space': quote.css('span.meetingroom_space_range::text').extract(),
}
записать строку в excel
ws.write_string(i, 0, item['name'])
ws.write_string(i, 1, item['region'])
ws.write_string(i, 2, item['street'])
if item['space']:
ws.write_string(i, 3, item['space'][1])
else:
ws.write_string(i, 3, '0')
i += 1
получить следующую страницу для сканирования
next_page = response.css('div.pager a:last-child::attr(href)').extract_first()
self.log(next_page)
if next_page is not None:
next_page = response.urljoin(next_page)
отправил запрос на следующую страницу
yield scrapy.Request(next_page, callback=self.parse)