初用scrapy,不清楚scrapy是如何爬取多个不同网页的?
比如我要爬取两个前缀
idLists = range(0,xx)
prefix = ["http://a.aa.com/a/", "http://b.aa.com/b/"]
每次将id放在前缀后面
那么问题来了,第一个前缀的网页我要爬取的内容为a,第二个前缀的网页我要爬取的内容为b。这个时候应该写两个items和两个spider吗?还是一个就能解决了?
现在暂时有两种思路:
第一种,写两个item和spider,然后合并,但是我不知道怎么合并item
class item1():
a = Field()
class item2():
b = Filed()
class spider1():
...
yield item1
class spider2():
...
yield item2
第二种,写一个回调函数?
class Item():
a = Field()
b = Field()
def start_requests():
return Requests("http://a.aa.com/a/", callback=self.page2)
def page2():
Requests("http://b.aa.com/b/")
yeild item
不知道scrapy怎么写,到底怎么访问两个不同的页面,获取不同的东西,然后再合并起来呢?感觉item和spider是一对一的关系?
如果a,b是独立的,就分两个spider,一个spider是可以用多个item的,如果有需要的话。