Я использую Python 3 и последнюю версию scrapy. Когда я передаю некоторые данные CSV с помощью другой функции обратного вызова без URL-адреса. Он показывает TypeError: URL-адрес запроса должен быть str или unicode, получил NoneType:
Мой вопрос: как передавать данные без URL-адреса?
# -*- coding: utf-8 -*-
import scrapy
import csv
class AppsSpider(scrapy.Spider):
def start_requests(self):
with open('data.csv', mode='r', encoding='utf-8') as file:
rows = csv.reader(file)
for row in rows:
url = row[0]
title = row[1]
developer = row[2]
price = row[3]
desc = row[4]
rating = row[5]
items = {
'url': url,
'title': title,
'developer': developer,
'price': price,
'desc': desc,
'rating': rating
}
yield scrapy.Request(None, meta=items, dont_filter=True, callback=self.parse_it)
def parse_it(self, response):
url = response.meta['url']
title = response.meta['title']
developer = response.meta['developer']
price = response.meta['price']
desc = response.meta['desc']
rating = response.meta['rating']
if int(rating) > 4:
parse_items = {
'url': url,
'title': title,
'developer': developer,
'price': price,
'desc': desc,
'rating': rating
}
yield parse_items