Sum*_*era 5 python scrapy flask scrapy-spider
我正在尝试使用Flask和Scrapy构建应用程序.我必须将list网址传递给蜘蛛.我尝试使用以下语法:
__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)
Run Code Online (Sandbox Code Playgroud)
我知道类似的事情可以通过阅读具有所需网址的文件来完成,但是我可以通过网址列表进行抓取吗?
覆盖蜘蛛的__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]
Run Code Online (Sandbox Code Playgroud)
并通过-a命令行参数传递端点列表:
scrapy crawl patents -a start_urls="US6249832,US20120095946" -o static/s.json
Run Code Online (Sandbox Code Playgroud)
也可以看看:
请注意,您还可以从脚本运行Scrapy:
| 归档时间: |
|
| 查看次数: |
1873 次 |
| 最近记录: |