我有一個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
NPIs存儲在從另一個代碼派生的csv文件中。 –
csv文件的結構是什麼?如果每條URL都作爲每行的條目,則可以編寫如下內容:open(file_name).read()。split()並獲取所有行的列表。 –