gpt4 book ai didi

python - 在 Scrapy 中将列表作为参数传递

转载 作者:行者123 更新时间:2023-12-03 03:14:50 25 4
gpt4 key购买 nike

我正在尝试使用 Flask 和 Scrapy 构建一个应用程序。我必须将网址列表传递给蜘蛛。我尝试使用以下语法:

__init__: in Spider
self.start_urls = ["http://www.google.com/patents/" + x for x in u]

Flask Method
u = ["US6249832", "US20120095946"]
os.system("rm static/s.json; scrapy crawl patents -d u=%s -o static/s.json" % u)

我知道类似的事情可以通过读取具有所需网址的文件来完成,但是我可以传递网址列表进行爬行吗?

最佳答案

重写蜘蛛的__init__()方法:

class MySpider(Spider):
name = 'my_spider'

def __init__(self, *args, **kwargs):
super(MySpider, self).__init__(*args, **kwargs)

endpoints = kwargs.get('start_urls').split(',')
self.start_urls = ["http://www.google.com/patents/" + x for x in endpoints]

并通过 -a 命令行参数传递端点列表:

scrapy crawl patents -a start_urls="US6249832,US20120095946" -o static/s.json

另请参阅:

<小时/>

请注意,您还可以从脚本运行 Scrapy:

关于python - 在 Scrapy 中将列表作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28546226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com