Python 通过从CSV文件中的数据手动创建多个URL来从多个URL中刮取数据

Python 通过从CSV文件中的数据手动创建多个URL来从多个URL中刮取数据,python,scrapy,Python,Scrapy,我正在尝试使用同一个scrapy spider文件从多个start_URL获取数据。我的目标是通过更改web地址中的特定ID来创建多个URL,并按照ID的顺序运行spider。所有ID都保存在CSV文件中。我身份证的正式名称是CIK。为了简单起见,我在这里放了两个cik(在原始文件中,我有大约19000个cik) 1326801 320193 因此,手动创建的网站应如下所示: 我的问题是:如何导入保存在CSV文件中的CIK,命令scrapy spider手动构建Start_URL并按顺序运行

我正在尝试使用同一个scrapy spider文件从多个start_URL获取数据。我的目标是通过更改web地址中的特定ID来创建多个URL,并按照ID的顺序运行spider。所有ID都保存在CSV文件中。我身份证的正式名称是CIK。为了简单起见,我在这里放了两个cik(在原始文件中,我有大约19000个cik)

1326801

320193

因此,手动创建的网站应如下所示:

我的问题是:如何导入保存在CSV文件中的CIK,命令scrapy spider手动构建Start_URL并按顺序运行创建的URL

此外,其中一些CIK在特定网站上没有数据。如何命令spider忽略手动创建的不可用URL

我只是个初学者。如果可能的话,请建议我在我的代码中的具体更改(具体代码将非常感谢)。先谢谢你

import scrapy
class InsiderSpider(scrapy.Spider):
    name = 'insider'
    cik = 320193
    allowed_domains = ['www.secform4.com']
    start_urls = ['https://www.secform4.com/insider-trading/'+ str(cik) +'-0.htm']

可以将所有URL写入start_URL,但这不是最佳做法

使用

如图所示:
相反。

谢谢托马斯·斯特鲁布的回复。我以前使用过这个特殊的代码。但是我得到了下面的404错误,代码没有丢弃任何数据。2019-11-22 04:25:31[scrapy.spidermiddleware.httperror]信息:忽略响应:HTTP状态代码未处理或不允许。320193和“-0”之间似乎有一个空格。。这是错误吗?说得好,托马斯。但我不知道,空间是从哪里来的。我怎样才能放下空间?start_url=['str(cik)+'-0.htm']按str(cik.strip())执行时的结果是什么?将open('cik.csv')作为f:for cik in f:if not str(cik.strip():继续执行此代码,无需改进请为您的答案添加上下文/解释,以便其他人能够理解您的解决方案。(审查结束)。这是否回答了您的问题?
class MySpider(Spider):
    name = 'csv'

    def start_requests(self):
        with open('file.csv') as f:
            for line in f:
                if not line.strip():
                    continue
                yield Request(line)
df = '1326801', '320193'
urls = ['https://www.secform4.com/insider-trading/' + str(i) +'-0.htm' for i in df]
print(urls)
['https://www.secform4.com/insider-trading/1326801-0.htm', 'https://www.secform4.com/insider-trading/320193-0.htm']