Scrapy爬虫开发实验
import scrapy
class MySpider(scrapy.Spider):
name = 'my_spider'
allowed_domains = ['example.com']
start_urls = ['http://example.com/pages.html']
def parse(self, response):
# 提取页面中的所有链接并进一步爬取
for href in response.css('a::attr(href)').getall():
# 构造绝对URL,并交给Scrapy进一步处理
url = response.urljoin(href)
yield scrapy.Request(url, callback=self.parse_page)
def parse_page(self, response):
# 解析页面并提取所需数据
title = response.css('h1::text').get()
content = response.css('div.content::text').get()
# 打印出解析的数据,或者生成一个Item等
print(f'Title: {title}\nContent: {content}')
这个简单的Scrapy爬虫示例展示了如何定义一个Spider,包括名称、允许爬取的域名、起始URL和解析方法。在parse
方法中,它提取了页面上所有的链接,并通过scrapy.Request
函数递归地爬取这些链接,每个链接对应的页面会调用parse_page
方法进行数据解析。这个例子演示了如何使用Scrapy框架的基本功能,并且是学习Web爬虫开发的一个很好的起点。
评论已关闭