Я пытаюсь развернуть паука на scrapinghub и не могу понять, как решить проблему ввода данных.Мне нужно прочитать идентификаторы из CSV-файла и добавить их к своим стартовым URL-адресам для понимания списка для сканирования пауком:
class exampleSpider(scrapy.Spider):
name = "exampleSpider"
#local scrapy method to extract data
#PID = pd.read_csv('resources/PID_list.csv')
#scrapinghub method
csvdata = pkgutil.get_data("exampleSpider", "resources/PID_list.csv")
start_urls = ['http://www.example.com/PID=' + str(x) for x in csvdata]
Файл требований и части pkgutil.get_data работают, но я застрял при конвертацииданные ввода / вывода в список.Как происходит преобразование вызова данных в понимание списка?
РЕДАКТИРОВАТЬ: Спасибо!Это дало мне 90% пути туда!
class exampleSpider(scrapy.Spider):
name = "exampleSpider"
#local scrapy method to extract data
#PID = pd.read_csv('resources/PID_list.csv')
#scrapinghub method
csvdata = pkgutil.get_data("exampleSpider", "resources/PID_list.csv")
csvio = StringIO(csvdata)
raw = csv.reader(csvio)
# TODO : update code to get exact value from raw
start_urls = ['http://www.example.com/PID=' + str(x[0]) for x in raw]
Для str (x) в качестве быстрого исправления требовался str (x [0]), поскольку цикл читал в квадратных скобках в кодировке URL, что разрывало ссылки: str(x)
привело к "http://www.example.com/PID=%5B'0001'%5D" но str(x[0])
выводит его из скобок списка: "http://www.example.com/PID='0001'"