scrapy中文手册笔记(二)
来源:互联网 发布:2017北京云计算大会 编辑:程序博客网 时间:2024/05/24 07:14
一、从网页中抽取数据,有流行的第三方库BeautifulSoup,或者lxml。但是在scrapy中,有自己的抽取机制,称为选择器,Selector,它们通过特定的XPath或者CSS表达式来选择要抽取的数据。
二、使用选择器
1、构造选择器
scrapy selector是用文字或者TextResponse构造的Selector实例。
(1)使用response构造时:
from scrapy.selector import Selectorfrom scrapy.http import HtmlResponseresponse = HtmlResponse(url='网址',body=body)Selector(response=response).xpath('抽取表达式').extract()
但是在实际中,为了方便,response对象设置了一个selector属性,来提供selector,所以可以不用构建selector,
response.selector.xpath('抽取表达式').extract()
2、可以使用快捷的方式,来处理response:response.xpath(),和response.css(),来通过表达式抽取html中的内容。这两个方法,返回的是selectorlist的实例,是一个新的选择器的列表。所以,可以对使用了“.xpath”和“.css”的选择器列表,继续使用选择器方法(如继续调用.xpath方法)。如果想直接获得真实的原文数据,需要调用”.extract()”方法,来将真实数据提出并返回真实数据的列表。
selector还有.re()方法,通过正则表达式来提前数据。对一个选择器的实例,或者选择器列表的实例,调用.re()方法,返回的是匹配上的unicode字符串的列表。
三、参考信息
1、selector的实例是对选择某些响应内容的封装。type可以定义选择器类型,分为html、xml、None(默认)。
response是htmlresponse或者xmlresponse的一个对象,被用来选择和提取数据。
2、常用方法
(1)xpath(表达式):寻找可以匹配表达式的节点,并返回selectorList的一个实例结果,单一化所有元素,列表中的元素,也符合selector,实现selector的接口。
(2)css(表达式):应用给定的css选择器,返回selectorList的实例。表达式为包含css选择器的字符串。
(3)extract():用在selector对象上,返回一个unicode字符串列表。
(4)re(表达式):应用给定的表达式,并返回匹配到的unicode字符串列表。
(5)暂未深究的方法:register_namespace 、remove_namespace 、….
(未完待续…..)
- scrapy中文手册笔记(二)
- scrapy中文手册笔记(一)
- Scrapy学习笔记(二)
- 《GNU_Make 中文手册》笔记之二 ing
- GCC 中文手册(二)
- phpGACL中文手册(二)
- 开发笔记手册(二)
- ANTLR中文手册二(ANTLR 是什么)
- GNU-make中文手册 读书笔记(二)
- EXT中文手册续(二)
- Qt5.9.1 qmake 中文手册(二)
- Tomcat中文手册(二)
- Nasm中文手册二
- Scrapy框架学习笔记二
- Python自学手册笔记(二)
- scrapy-redis(二)
- scrapy(二)
- Scrapy入门(二)创建Scrapy项目
- 管理者必备——会议管理思维导图
- Linux 挂载硬盘
- Django来敲门~第一部分【6.2 HTML视图模板】
- BFS求解最短路经典算法
- EMA
- scrapy中文手册笔记(二)
- Connection closed by foreign host.-运营商线路问题导致
- 【Java并发】- AbstractQueuedSynchronizer详解(AQS)
- 《阿里感悟》- 技术人员的职业规划
- JVM性能优化(一)
- 有符号整数与无符号整数
- 【C++】jsoncpp的安装与使用
- ios 异步线程 NSLock 小结
- Java 虚拟机