Scrapy选择器的用法

简介: 1.构造选择器:>>> response = HtmlResponse(url='http://example.com', body=body)>>> Selector(response=response).xpath('//span/text()').extract()[u'good'] 2.使用选择器(在response使用xpath或CSS查询):.xpath() 及 .css() 方法返回一个类 SelectorList 的实例, 它是一个新选择器的列表。

1.构造选择器:

>>> response = HtmlResponse(url='http://example.com', body=body)
>>> Selector(response=response).xpath('//span/text()').extract()
[u'good']

 

2.使用选择器(在response使用xpath或CSS查询):

.xpath() 及 .css() 方法返回一个类 SelectorList 的实例, 它是一个新选择器的列表。

>>> response.xpath('//title/text()')
[<Selector (text) xpath=//title/text()>]
>>> response.css('title::text')
[<Selector (text) xpath=//title/text()>]

xpath中 //选取标签,/选择属性, CSS中用 :: 选取属性。

 

调用 extract() 来获取标签内容,使用extract_frist()来获取第一个元素内容。

>>> response.css('title::text').extract()
[u'Example website']

 

使用@或attr()来获取属性。

>>> response.xpath('//base/@href').extract()
[u'http://example.com/']

>>> response.css('base::attr(href)').extract()
[u'http://example.com/']

 

获取指定内容,如image。

>>> response.xpath('//a[contains(@href, "image")]/@href').extract()
[u'image1.html',
 u'image2.html',
 u'image3.html',
 u'image4.html',
 u'image5.html']

>>> response.css('a[href*=image]::attr(href)').extract()
[u'image1.html',
 u'image2.html',
 u'image3.html',
 u'image4.html',
 u'image5.html']

 

结合正则表达式。

>>> response.xpath('//a[contains(@href, "image")]/text()').re(r'Name:\s*(.*)')
[u'My image 1',
 u'My image 2',
 u'My image 3',
 u'My image 4',
 u'My image 5']

 

相关文章
|
1月前
|
数据采集 前端开发 数据处理
Scrapy的Lambda函数用法:简化数据提取与处理的技巧
在现代爬虫开发中,**Scrapy** 是一个广泛使用的高效 Python 框架,适用于大规模数据爬取。本文探讨如何利用 Python 的 **Lambda 函数** 简化 Scrapy 中的数据提取与处理,特别是在微博数据爬取中的应用。通过结合 **代理IP**、**Cookie** 和 **User-Agent** 设置,展示了实际用法,包括代码示例和优化技巧,以提高爬虫的稳定性和效率。使用 Lambda 函数能显著减少代码冗余,提升可读性,有效应对复杂的数据清洗任务。
|
6月前
|
数据采集 前端开发 中间件
python-scrapy框架(一)Spider文件夹的用法讲解
python-scrapy框架(一)Spider文件夹的用法讲解
138 0
|
6月前
|
数据采集 NoSQL 中间件
python-scrapy框架(四)settings.py文件的用法详解实例
python-scrapy框架(四)settings.py文件的用法详解实例
60 0
|
6月前
|
存储 数据采集 数据库
python-scrapy框架(三)Pipeline文件的用法讲解
python-scrapy框架(三)Pipeline文件的用法讲解
125 0
|
6月前
|
存储 数据采集 JSON
python-scrapy框架(二)items文件夹的用法讲解
python-scrapy框架(二)items文件夹的用法讲解
115 0
|
前端开发 Python
Scrapy CSS选择器
Scrapy CSS选择器
203 0
|
数据采集 XML 前端开发
python爬虫:scrapy框架xpath和css选择器语法
python爬虫:scrapy框架xpath和css选择器语法
231 0
python爬虫:scrapy框架xpath和css选择器语法
|
数据采集 XML 前端开发
Scrapy框架| 选择器-Xpath和CSS的那些事
Scrapy框架| 选择器-Xpath和CSS的那些事
216 0
|
数据采集 XML 前端开发
python爬虫:scrapy框架xpath和css选择器语法
python爬虫:scrapy框架xpath和css选择器语法
689 0
|
前端开发 搜索推荐 Python
19、 Python快速开发分布式搜索引擎Scrapy精讲—css选择器
【http://www.bdyss.cn】 【http://www.swpan.cn】 css选择器 1、 2、 3、  ::attr()获取元素属性,css选择器 ::text获取标签文本 举例: extract_first('')获取过滤后的数据,返回字符串,有一个默认参数,也就是如果没.
865 0