【项目实战】网络爬虫入门介绍(Scrapy爬虫与反爬机制)
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
allowed_domains = ['example.com']
start_urls = ['http://example.com/pages/']
def parse(self, response):
# 提取页面中的所有链接并进一步爬取
for href in response.css('a::attr(href)').getall():
# 构造绝对URL,并进行请求,parse作为回调函数
yield response.follow(href, self.parse)
# 提取页面中的有价值数据
items = response.css('div.item')
for item in items:
# 提取数据并生成字典
yield {
'title': item.css('a.item-title::text').get(),
'link': item.css('a.item-title::attr(href)').get(),
'desc': item.css('p.item-desc::text').get(),
}
这个简单的Scrapy爬虫示例展示了如何定义一个爬虫的基本结构,包括爬虫的名字、允许爬取的域名、起始URL和解析函数。解析函数中,我们首先提取页面中所有的链接,并对每个链接发起新的爬取请求。然后,我们提取页面上的有价值数据,包括标题、链接和描述,并以字典的形式输出。这个例子演示了Scrapy的基本用法,并且对于初学者来说是一个很好的起点。
评论已关闭