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)的更多相关文章

  1. PythonCrawl自学日志

    2016-09-10 PythonCrawl自学日志 1.python及Selenium的安装 (1)开发环境使用的是VS2015 Community.python3.5.Selenium3.0BET ...

  2. PythonCrawl自学日志(3)

    2016年9月21日09:21:431.爬虫的抓取周期:(1)首先生成初始请求爬第一个url,并指定一个回调函数被称为与下载这些请求的响应.(2)第一个请求执行通过调用 start_requests( ...

  3. PythonCrawl自学日志(2)

    一.Scrapy环境的安装 1.配套组件的安装 由于开发环境是在VS2015Community中编码,默认下载的python3.5,系统是windows8.1,为此需要安装的组件有如下列表: 所有的组 ...

  4. Python自学日志_2017/9/05

    9月5日今天早晨学习了网易云课程<Python做Web工程师课程>提前预习课程<学会开发静态网页>.轻松的完成了第五节课的两个实战作业--感觉自己这几天的功夫没有白费,总算学会 ...

  5. python自学日志--基础篇(1)

    从认识python,到学习python,中间经历了挺长一段时间的心理挣扎.人总是对未知的事物有着天生的恐惧感,但是,人又是对未知充斥好奇.所以在最后,还是推开了这扇门,开始学习python. pyth ...

  6. VUE自学日志01-MVC和MVVM

    一.需要了解的基础概念 Model(M)是指数据模型,泛指后端进行的各种业务逻辑处理和数据操控,主要围绕数据库系统展开.这里的难点主要在于需要和前端约定统一的接口规则. View(V)是视图层,也就是 ...

  7. VUE自学日志02-应用与组件实例

    准备好了吗? 我们刚才简单介绍了 Vue 核心最基本的功能--本教程的其余部分将更加详细地涵盖这些功能以及其它高阶功能,所以请务必读完整个教程! 应用 & 组件实例 创建一个应用实例创建一个应 ...

  8. Appium自动化测试教程-自学网-monkey日志管理

    日志管理作用 Monkey日志管理是Monkey测试中非常重要的一个环节,通过日志管理分析,可以获取当前测试对象在测试过程中是否会发生异常,以及发生的概率,同时还可以获取对应的错误信息,帮助开发定位和 ...

  9. 从零自学Hadoop(22):HBase协处理器

    阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...

随机推荐

  1. There is no Action mapped for action name XXX. - [unknown location]

    今天被这个问题费了不少时间,原因是缺少了 struts2-json-plugin-2.3.1.2.jar 包 当然,有时候也可能是缺少其他包, 把这个包添加到lib文件夹后还要刷新,clean一下,因 ...

  2. 面试题总结之C/C++/MISC

    C C pointer,指向数据结构与指向char的指针有区别吗 它们正做+1运算时产生的位移不同 分配在堆的内存与分配在堆栈的内存有什么不同 分配在堆的内存要手动去释放 C structure,数据 ...

  3. javascript之css常用属性

    1. position : 属性值有absolute .fixed.relative absolute:生成绝对定位的元素,相对第一父元素进行定位: fixed :   生成绝对定位的元素,相对于浏览 ...

  4. C++的4种编程范型

    基于过程procedural-based 基于对象object-based 面向对象object-oriented 泛型技术generics

  5. Linux清空内存缓存

    > /proc/sys/vm/drop_caches

  6. Executor 和Executors

    Java里面线程池的顶级接口是Executor,但是严格意义上讲Executor并不是一个线程池,而只是一个执行线程的工具.真正的线程池接口是ExecutorService. 下面这张图完整描述了线程 ...

  7. Leetcode 94. Binary Tree Inorder Traversal (中序遍历二叉树)

    Given a binary tree, return the inorder traversal of its nodes' values. For example: Given binary tr ...

  8. c# 远程监控(4) 接收端 RTP包重组 分屏显示

    我们在上一期使用RTP协议,并进行了配置,打包了视频数据,这一期我们就对发送的数据进行重组,并显示在接受端上.最后对其进行扩展,支持多客户端视频发送,并在接收端分屏显示.完成远程监控的模拟. 先来个效 ...

  9. (转)MySQL数据表中带LIKE的字符匹配查询

    MySQL数据表中带LIKE的字符匹配查询 2014年07月15日09:56    百科369 MySQL数据表中带LIKE的字符匹配查询 LIKE关键字可以匹配字符串是否相等. 如果字段的值与指定的 ...

  10. 用DataSet方式更新数据库表

    /* 用DataSet的方式更新数据库表 * 注意:用DataSet更新数据库表的时候,该表必须指定主键或者是唯一列 */ string connString = "Data Source= ...