如果用scrapy 抓取多个不同的站点放在同一个spider里,用下面哪种方法好点?

站点大约几百个.
都是只采站点的一个列表
用下面哪个好点?

一.

class MySpider(scrapy.Spider):
    name = 'example.com'
    allowed_domains = ['example.com']

    def start_requests(self):
        yield scrapy.Request('http://www.example.com/1.html', self.parse1)
        yield scrapy.Request('http://www.example.com/2.html', self.parse2)
        yield scrapy.Request('http://www.example.com/3.html', self.parse3)

    def parse(self, response):
        for h3 in response.xpath('//h3').extract():
            yield MyItem(title=h3)
   ....略

二.

class MySpider(CrawlSpider):
    name = 'example.com'
    allowed_domains = ['example.com']
    start_urls = ['http://www.example.com']

    rules = (
        # 提取匹配'item.php'的链接,然后用Spider的parse_item解析它们
        Rule(LinkExtractor(allow=('http://www.example.com/1.html', )), callback='parse_item1'),
        Rule(LinkExtractor(allow=('http://www.example.com/2.html', )), callback='parse_item2'),
        Rule(LinkExtractor(allow=('http://www.example.com/3.html', )), callback='parse_item3'),
    )
    ....略
阅读 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题