20.网络爬虫—Scrapy-Redis分布式爬虫
import scrapy
from scrapy_redis.spiders import RedisSpider
from scrapy_redis.items import RedisItem
class MySpider(RedisSpider):
name = 'my_spider'
redis_key = 'my_spider:start_urls'
def parse(self, response):
# 解析响应内容,提取数据
data = response.css('div.some-class ::text').extract()
item = RedisItem()
item['data'] = data
yield item
# 提取新的链接并进一步爬取
next_urls = response.css('a::attr(href)').extract()
for url in next_urls:
yield scrapy.Request(url=response.urljoin(url), callback=self.parse)
这个示例展示了如何使用Scrapy-Redis库创建一个RedisSpider爬虫。爬虫的名字是'my\_spider',它从Redis中的'my\_spider:start\_urls'键读取起始URLs。在parse方法中,它提取页面数据并生成一个RedisItem,然后通过生成新的Request对象来爬取后续页面。这个例子简单明了地展示了如何使用Scrapy-Redis库进行分布式爬取。
评论已关闭