У меня есть список NPI, которые я хочу очистить имена поставщиков от npidb.org Значения NPI хранятся в CSV-файле.Сканировать веб-сайт из списка значений с помощью scrapy
Я могу сделать это вручную, вставив URL-адреса в код. Однако я не могу понять, как это сделать, если у меня есть список NPI, для каждого из которых я хочу имена поставщиков.
Вот мой текущий код:
import scrapy
from scrapy.spider import BaseSpider
class MySpider(BaseSpider):
name = "npidb"
def start_requests(self):
urls = [
'https://npidb.org/npi-lookup/?npi=1366425381',
'https://npidb.org/npi-lookup/?npi=1902873227',
]
for url in urls:
yield scrapy.Request(url=url, callback=self.parse)
def parse(self, response):
page = response.url.split("/")[-1]
filename = 'npidb-%s.html' % page
with open(filename, 'wb') as f:
f.write(response.body)
self.log('Saved file %s' % filename)
Вы хотите указать все значения npi из командной строки? текстовый файл? – eLRuLL
NPI хранятся в CSV-файле, который был получен из другого кода. –
Какова структура файла csv? Если у вас есть каждый URL-адрес в виде строки в строке, вы можете написать что-то вроде: open (имя_файла) .read(). Split() и получить список всех строк. –