从脚本设置Scrapy的start_urls

2 投票
2 回答
2503 浏览
提问于 2025-04-18 05:27

我有一个可以正常工作的scrapy爬虫,并且我可以通过一个单独的脚本来运行它,具体可以参考这里的例子。我还为我的脚本创建了一个wxPython的图形界面,这个界面里有一个多行的文本框,用户可以在里面输入要抓取的URL列表,还有一个提交按钮。目前,我的爬虫里是把start_urls写死的——我该如何把用户在文本框中输入的URL传递给爬虫里的start_urls数组呢?非常感谢你的帮助!

2 个回答

9

alecxe 的回答对我没用。我的解决方案适用于 Scrapy==1.0.3:

from scrapy.crawler import CrawlerProcess
from tutorial.spiders.some_spider import SomeSpider

process = CrawlerProcess()

process.crawl(SomeSpider, start_urls=["http://www.example.com"])
process.start()

这可能对将来的某些人有帮助。

4

只需要在你的 Spider 实例上设置 start_urls 就可以了:

spider = FollowAllSpider(domain=domain)
spider.start_urls = ['http://google.com']

撰写回答