情形:
现有一个固定格式的、大约 700w 条数据的 URL ,如 "http://example/item/%d" % (i)
我不想生成一个这么大的列表。最科学的方法应该是弄成一个生成器,生成 1000 个 url , yield 出来,再生成 1000 个...直到一直把活干完。
不知道 PySpider 怎样重写这个 url 。查看文档和源码,发现是用 BaseHandler 的 crawl 方法,读取一个 url 列表。
我现在想实现:
不知有没有老大有经验?
def urls(self):
i=1
while i<7000000:
yield "http://example/item/%d" % (i)
i += 1
@every(minutes=24 * 60)
def on_start(self):
self.crawl(self.urls(), callback=self.index_page)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.