Python Scrapy入门:创建项目与抓取单页内容

0 下载量 28 浏览量 更新于2024-08-29 收藏 71KB PDF 举报
本篇学习笔记主要介绍了如何使用Python的Scrapy爬虫框架进行基本网页抓取。Scrapy是一个强大的网络爬虫框架,它为开发者提供了高效、灵活的工具来处理网页抓取和数据提取任务。以下是本文重点介绍的步骤和知识点: 1. **创建Scrapy项目**: 首先,使用命令`scrapy startproject getblog`创建一个新的Scrapy项目,这将自动生成项目的结构,包括items.py和spiders文件夹。 2. **配置items.py**: 在items.py文件中,定义了一个名为`BlogItem`的类,继承自`Item`。这个类用于表示从网站上抓取的数据模型,包括两个字段:`title`和`desc`。这些字段是Scrapy用来存储数据的关键属性。 3. **创建Spider**: 在spiders文件夹下的`blog_spider.py`文件中,定义了名为`BlogSpider`的Spider。Spider是Scrapy的核心组件,负责执行爬虫逻辑。首先,设置Spider的名字为`blog`,并指定起始URL为`http://www.cnblogs.com/`。 4. **XPath选择器**: Scrapy使用Selector对象进行HTML解析和选择元素。XPath是一种强大的查询语言,用于在XML或HTML文档中查找特定元素。虽然XPath语法与jQuery类似,但可能不如jQuery直观易用。这里,通过XPath表达式`//div[@class="post_item"]/div[2]`选择带有特定类名的`div`标签中的内容。 5. **数据提取**: 在`parse`方法中,使用`Selector`对象对网页进行解析。通过`site.xpath()`调用XPath表达式,获取每个匹配元素的子元素(如h3/a标签和p[@class="post_item_summary"])。然后,将这些元素的文字内容分别赋值给`item['title']`和`item['desc']`。 6. **保存数据**: 数据提取后,将每个`BlogItem`实例添加到`items`列表中,以便后续处理和存储。这些数据将在爬虫执行完毕后被解析器处理并导出为CSV或其他格式。 通过这个简单的例子,你将学会如何使用Scrapy框架进行基础的网页抓取,包括项目初始化、数据模型定义以及XPath选择器的使用。继续深入学习Scrapy,可以探索更多的功能,如下载中间件、请求管理、错误处理以及分布式爬虫等,以应对更复杂的抓取需求。