使用Python进行网络爬虫Scrapy框架的实践
import scrapy
class MySpider(scrapy.Spider):
name = 'myspider'
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进行爬取
yield response.follow(href, self.parse)
# 提取页面中的特定数据项
for item in response.css('div.item'):
# 提取链接、图片和标题
url = item.css('a::attr(href)').extract_first()
image = item.css('img::attr(src)').extract_first()
title = item.css('a::text').extract_first()
# 打印结果或者创建一个字典/对象来存储数据
print(f"URL: {url}, Image: {image}, Title: {title}")
这个简单的爬虫示例展示了如何使用Scrapy框架的基本结构来爬取网页中的链接和数据。它定义了爬虫的名字、允许爬取的域名、起始URL和解析函数。解析函数会提取页面中所有的链接,并递归地跟踪它们,同时提取每个页面上指定的数据项。这个例子教会了如何使用Scrapy的CSS选择器来定位和提取数据,这是一种更直观和灵活的数据提取方法。
评论已关闭