为了账号安全,请及时绑定邮箱和手机立即绑定

启动 CrawlerProcess / Scrapy 时修改来自蜘蛛的 CSV 文件输入

启动 CrawlerProcess / Scrapy 时修改来自蜘蛛的 CSV 文件输入

慕森王 2021-09-14 21:35:50
    我正在同时启动几个蜘蛛CrawlerProcess,就像那样。def main():    # ----- This part launch all given spiders ----- #    process = CrawlerProcess(get_project_settings())    process.crawl(FirstSpider)    process.crawl(SecondSpider)    process.crawl(ThirdSpider)    process.crawl(EtcSpider)    process.start()  # the script will block here until the crawling is finished所有蜘蛛都基于 CSV 输入文件工作,该文件包含要在网站上查找的信息。这是一个示例:class FirstSpider(scrapy.Spider):    name = "first_bot"    def start_requests(self):        base_url = "https://example.fr/catalogsearch/result/?q="        script_dir = osp.dirname(osp.realpath(__file__))        file_path = osp.join(script_dir, 'files', 'to_collect_firstbot.csv')        input_file = open(file_path, 'r', encoding="utf-8", errors="ignore")        reader = csv.reader(input_file)        for row in reader:            if row:                url = row[0]                absolute_url = base_url + url                print(absolute_url)                yield scrapy.Request(                    absolute_url,                    meta={                        "handle_httpstatus_list": [302, 301, 502],                    },                    callback=self.parse                )它有效,但我可能必须修改输入文件名,该文件名为每个蜘蛛记录。是否可以在所有蜘蛛脚本上保留一个默认的“自定义”文件,然后保存到 core.py 文件(启动所有蜘蛛),如果需要修改 CSV 输入文件(在这种情况下,所有蜘蛛的文件和名称都相同) )?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 236 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信