Scrapy Selector 语法

本文介绍了ScrapySelector语法,包括XPath和CSS选择器的用法。通过实例展示了如何使用XPath进行XML文档导航及CSS选择器的基本操作。

Scrapy Selector 语法其实就是 XPathCss 语法,下面是一些例子:

def parse(self, response):
    sel = Selector(response)
    ele1 = sel.xpath('//ul[@class="directory-url"]/li') # 12312  
    ele2 = sel.css('tr > td:nth-child(4)::text') # 123123  
    ele3 = sel.css('.l.square a').xpath('text()') # 123123  

XPath 选择器语法

参考:xpath - from w3.org

  • XPath 使用路径表达式在 xml 文档中导航
  • XPath 包括一个标准函数库
  • XPath 是一个 W3C 标准

Css 选择器语法

参考:css - from w3.org

### Scrapy框架语法教程 Scrapy 是一种用于抓取网页并从中提取结构化数据的强大 Python 框架。以下是关于其基本语法和核心组件的详细介绍。 #### 1. 定义 Item 类 `Item` 是用来存储爬取到的数据的对象。通常会在 `items.py` 文件中定义它。下面是一个示例: ```python import scrapy class DoubanItem(scrapy.Item): name = scrapy.Field() # 表示书籍名称或其他实体名 rating_num = scrapy.Field() # 表示评分数值 quote = scrapy.Field() # 表示引用语句 ``` 此部分代码展示了如何创建一个自定义的 `DoubanItem` 类,其中包含了三个字段:`name`, `rating_num`, 和 `quote`[^1]。 #### 2. 创建 Spider Spiders 是负责从特定网站获取信息的核心类。它们通过继承 `scrapy.Spider` 来实现,并需指定一些属性如 `name`、`start_urls` 等。以下是一段简单的 Spider 实现: ```python import scrapy class ExampleSpider(scrapy.Spider): name = 'example' # 唯一标识符 start_urls = ['http://example.com'] # 初始请求地址列表 def parse(self, response): for item in response.css('div.item'): yield { 'title': item.css('h2.title::text').get(), 'link': item.css('a::attr(href)').get() } ``` 在此例子中,我们使用 CSS 选择器来定位页面中的元素,并将其转换成字典形式返回给后续处理阶段[^2]。 #### 3. 数据解析与选择器 为了更高效地抽取所需的信息,Scrapy 提供了两种主要的选择工具——CSS Selectors 和 XPath Expressions。例如: - 使用 **CSS Selector**: ```python title = response.css('.product-title::text').extract_first() ``` - 或者使用 **XPath Expression**: ```python price = response.xpath('//span[@id="price"]/text()').get() ``` 这两种方法都可以帮助开发者轻松找到目标 HTML 节点内的具体内容[^2]。 #### 4. 配置 Pipeline Pipelines 主要用于清理、验证以及保存已爬取的数据项至数据库或者文件系统当中。这里给出一段基础配置样例: ```python class SaveToFilePipeline(object): def process_item(self, item, spider): with open('output.txt', 'a') as f: line = json.dumps(dict(item)) + "\n" f.write(line) return item ``` 这段脚本会把每一个传入的项目写入名为 `output.txt` 的纯文本文件之中[^3]。 --- ### 总结 以上介绍了 Scrapy 中几个重要组成部分及其相应语法要点,包括 Items 定义、Spiders 编写方式、数据选取技巧还有 Pipelines 设置等内容。希望这能为你提供良好的指导作用!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值