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. 编写一个程序,从标准输入中读取若干string对象并查找连续重复出现的单词。所谓连续重复出现的意思是:一个单词后面紧跟着这个单词本身。要求记录连续重复出现的最大次数以及对应的单词

    #include<iostream> #include<string> #include<vector> using namespace std; int main ...

  2. JAVA_HttpClientUtils

    package org.mobiletrain.utils; import java.io.BufferedInputStream; import java.io.BufferedOutputStre ...

  3. C++的三大特性之一继承

    一.继承的相关基本概念 1.继承的定义     在C++中,可以使用继承来使新类得到已定义的一些类中的特性,这就好比与孩子从父亲母亲得到遗传类似,所以我们称原有的类为基类或父类,用原有类来生成新的类的 ...

  4. Python 基础【第八篇】变量

    1.变量定义: 给数据进行命名,数据的名字就叫做变量 2.变量格式: [变量名] = [值] 注:变量名命名需要满足下面两条准则 准则一:标示符开头不能为数字.不能包含空格.特殊字符准则二:标示符不能 ...

  5. list集合,map集合遍历

    import java.util.ArrayList; import java.util.Iterator; import java.util.List; /** *遍历集合List * @autho ...

  6. 你hack那么多啊,该怎么办

    当我们通过javascript来操作css样式的时候,假如我们停留在css2的阶段,会发现操作起来并不是很困难.虽然存在一些浏览器兼容的问题,但我们通过封装自己的函数,不仅可以设置样式还能够获取样式. ...

  7. 通过js根据后台数据动态生成一个页面

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ExportSelField ...

  8. Android Drawable系列(1):自定义背景以及注意事项

    0. Shape自身属性 android:shape=["rectangle" | "oval" | "line" | "ring ...

  9. 我的MFC学习之路(一)

    因为项目需求,我开始应用MFC写程序.具体接触MFC的时间大概也有两个月了.现在的水平算是刚刚踏入了MFC大门的半只脚.目前能基本使用MFC Class Wizard,可以根据实例仿照完成需求,小范围 ...

  10. DIV+CSS相对IE8的兼容问题

    CSS技巧: 1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了.缺点是要控制内容 ...