PythonCrawl自学日志(4)
2016年9月22日10:34:02
一、Selector
1.如何构建
(1)text构建: body = '<html><body><span>good</span></body></html>'
Selector(text=body).xpath('//span/text()').extract()
(2)resopnse构建 response = HtmlResponse(url='http://example.com', body=body)
Selector(response=response).xpath('//span/text()').extract()
2.如何使用
response.xpath("网页元素")或者response.css(css元素)
3.(Nesting Selectors)嵌套选择器
response.xpath().xpath()
4.使用正则表达式
Selector.re(),使用正则表达式提取数据
5.使用相对xpath
提取二级元素时,使用.//元素名
6.使用扩展(re、set)
二、Selector详细介绍
1.成员变量:
(1)response: HtmlResponse或者XmlResponse
(2)text: response为空时有效,
(3)type: html、xml、None
2.成员函数
(1)xpath(): 寻找匹配查询请求的字符串的节点,返回SelectorList的一个实例结果
(2)css(): 应用给定的CSS选择器,返回SelectorList的一个实例,转化为Xpath查询
(3)extract(): 串行将匹配的节点返回一个Unicode字符串列表,结尾为编码内容的百分比
(3)reg(regex): 正则表达式,或者是一个将被re.compile(regex)编译为正则表达式的字符串
(4)register_namesp- 注册命名空间,能够从标准命名空间中选择或提取数据
aces(prefix,uri)
(5)remove_namespac- 移除命名空间,允许使用namespace-less xpath遍历所选内容
Selector
es
三、SelectorList对象
内建list类,除list内方法,还有下面的方法
1.xpath(query) 对列表中的每个元素调用xpath(),返回一个单一化的SelectorList对象
2.css(query) 对列表中的每个元素调用css(),返回另一个单一化的SelectorList对象
3.extract() 同理,返回单一化的unicode字符串列表
4.re() 同理,返回单一化的Unicode字符串列表
5.__nonzero__() 查询列表空
PythonCrawl自学日志(4)的更多相关文章
- PythonCrawl自学日志
2016-09-10 PythonCrawl自学日志 1.python及Selenium的安装 (1)开发环境使用的是VS2015 Community.python3.5.Selenium3.0BET ...
- PythonCrawl自学日志(3)
2016年9月21日09:21:431.爬虫的抓取周期:(1)首先生成初始请求爬第一个url,并指定一个回调函数被称为与下载这些请求的响应.(2)第一个请求执行通过调用 start_requests( ...
- PythonCrawl自学日志(2)
一.Scrapy环境的安装 1.配套组件的安装 由于开发环境是在VS2015Community中编码,默认下载的python3.5,系统是windows8.1,为此需要安装的组件有如下列表: 所有的组 ...
- Python自学日志_2017/9/05
9月5日今天早晨学习了网易云课程<Python做Web工程师课程>提前预习课程<学会开发静态网页>.轻松的完成了第五节课的两个实战作业--感觉自己这几天的功夫没有白费,总算学会 ...
- python自学日志--基础篇(1)
从认识python,到学习python,中间经历了挺长一段时间的心理挣扎.人总是对未知的事物有着天生的恐惧感,但是,人又是对未知充斥好奇.所以在最后,还是推开了这扇门,开始学习python. pyth ...
- VUE自学日志01-MVC和MVVM
一.需要了解的基础概念 Model(M)是指数据模型,泛指后端进行的各种业务逻辑处理和数据操控,主要围绕数据库系统展开.这里的难点主要在于需要和前端约定统一的接口规则. View(V)是视图层,也就是 ...
- VUE自学日志02-应用与组件实例
准备好了吗? 我们刚才简单介绍了 Vue 核心最基本的功能--本教程的其余部分将更加详细地涵盖这些功能以及其它高阶功能,所以请务必读完整个教程! 应用 & 组件实例 创建一个应用实例创建一个应 ...
- Appium自动化测试教程-自学网-monkey日志管理
日志管理作用 Monkey日志管理是Monkey测试中非常重要的一个环节,通过日志管理分析,可以获取当前测试对象在测试过程中是否会发生异常,以及发生的概率,同时还可以获取对应的错误信息,帮助开发定位和 ...
- 从零自学Hadoop(22):HBase协处理器
阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...
随机推荐
- img图片下有个间隙是为什么
转自知乎:http://www.zhihu.com/question/21558138要理解这个问题,首先要弄明白CSS对于 display: inline 元素的 vertical-align 各个 ...
- JForum 2.19源码部署到eclipse
前两天在研究免费论坛,通过oschina和相关的文档查阅,最终选择了jforum,首先他是java写的,其次方便二次开发,而且有些论坛的源码都已经不在维护了,jforum最近几个月还是有更新的,但是从 ...
- bootstrap在iis中发布后无法看到图标,字体样式
因为框架使用了字体文件来显示矢量的图标,为了能在IIS上正常显示图标,可以通过增加iis的MIME-TYPE来支持图标字体文件:
- ubuntu_scrapy 安装
1:install pip python-dev sudo apt-get install python-dev sudo apt-get install libevent-dev ...
- 使用urllib进行网页爬取
# coding=gbk # 抓取开奖号码 # url:http://datachart.500.com/dlt/zoushi/jbzs_foreback.shtml ''' 对网页逐行迭代,找到目标 ...
- LogstashL reference 重要章节
配置文件结构说明 https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html Event相关配 ...
- 关于JFace中的TableViewer和TreeViewer中的
TableViewer类 构造方法摘要: 方法摘要: 在做的这几个练习中,发现,getTable(),refresh(),remove(),setSelection()方法经常使用. TreeView ...
- 关于Eclipse中的一些基本知识
Eclipse中寻找JRE的顺序是:vm参数指定的JRE--->elipse目录下的JRE--->操作系统中默认的JRE,利用这个特性也可以用vm参数来解决当本机安装有多个JRE的情况. ...
- C语言位运算符:与、或、异或、取反,左移和右移
C语言位运算符:与.或.异或.取反.左移和右移 个位操作运算符.这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型. ,则该位的结果值为1,否则为0 | ...
- 基于Selenium2+Java的UI自动化(4) - WebDriver API简单介绍
1. 启动浏览器 前边有详细介绍启动三种浏览器的方式(IE.Chrome.Firefox): private WebDriver driver = null; private String chrom ...