XPath

1.常用规则

     表达式            描述        
  nodename     选取此节点的所有子节点
  /     从当前节点选取直接子节点
  //     从当前节点选取子孙节点
  .     选取当前节点
  ..     选取当前节点的父节点
  @     选取属性

2.etree

python 3.5以上没有了整合的库,通过from lxml import etree 调用,pycharm会报错,但是功能还是能够实现

etree.HTML()   对html文本进行初始化

etree.tostring() 输出修正后的代码 (bytes类型)

etree.parse(文本名,etree.HTMLparser()) 读取文本解析

3.xpath

//*     选取所有节点

//ul/li  选取子节点或者子孙节点

//li[@class="item"]   属性匹配

//a/@href        获取属性

当遇到classname有多个值,可以使用contain()方法

XPath提供了100多个函数,具体可以参考:

http://www.w3school.com.cn/xpath/xpath_functions.asp

pyquery

1.调用方法

from pyquery impoPyQuery

1)PyQuery(str)字符串初始化

2)PyQuery(url = ‘’)URL初始化

PyQuery(requests,get(url).text)功能相同

3) PyQuery(filename = ‘’)文件初始化

2.基本 css选择器

from pyquery import PyQuery as pq
doc = pq(html)
print(doc('#container .list li'))
类型为PyQuery类型

查询函数和jQuery的用法相同

find()   查询节点的所有子孙节点 可传入css选择器筛选符合条件的节点
children() 查询子节点 可传入css选择器筛选符合条件的节点
parent() 查询父节点 可传入css选择器筛选符合条件的节点
parents() 查询祖先节点 可传入css选择器筛选符合条件的节点
siblings() 查询兄弟节点 可传入css选择器筛选符合条件的节点
items() 得到一个生成器,实现遍历
.attr.属性 获取属性
text() 获取文本,改变节点内部的内容
addClass() 添加指定class属性
removeClass() 删除指定class属性
attr() 修改属性等
html() 改变节点内部的内容
remove() 移除指定节点
pyquery强大的一点是它能支持伪类选择器
标签名:first-child 第一个节点
标签名:last-child 最后一个节点
标签名:ntn-child(2) 第二个节点
标签名:gt(2) 第三个节点之后的此标签节点
标签名:ntn-child(2n) 偶数位置的节点
标签名:contains(文本内容) 包含此文本内容的节点

爬虫 2 XPath 和 pyquery的更多相关文章

  1. Python爬虫利器六之PyQuery的用法

    前言 你是否觉得 XPath 的用法多少有点晦涩难记呢? 你是否觉得 BeautifulSoup 的语法多少有些悭吝难懂呢? 你是否甚至还在苦苦研究正则表达式却因为少些了一个点而抓狂呢? 你是否已经有 ...

  2. 一起学爬虫——使用selenium和pyquery爬取京东商品列表

    layout: article title: 一起学爬虫--使用selenium和pyquery爬取京东商品列表 mathjax: true --- 今天一起学起使用selenium和pyquery爬 ...

  3. 爬虫常用Xpath和CSS3选择器对比

    爬虫常用Xpath和CSS3选择器对比 1. 简介 CSS是来配合HTML工作的,和Xpath对比起来,CSS选择器通常都比较短小,但是功能不够强大.CSS中的空白符' '和Xpath的'//'都表示 ...

  4. python爬虫:XPath语法和使用示例

    python爬虫:XPath语法和使用示例 XPath(XML Path Language)是一门在XML文档中查找信息的语言,可以用来在XML文档中对元素和属性进行遍历. 选取节点 XPath使用路 ...

  5. Python爬虫之xpath语法及案例使用

    Python爬虫之xpath语法及案例使用 ---- 钢铁侠的知识库 2022.08.15 我们在写Python爬虫时,经常需要对网页提取信息,如果用传统正则表达去写会增加很多工作量,此时需要一种对数 ...

  6. 非常全的一份Python爬虫的Xpath博文

    非常全的一份Python爬虫的Xpath博文 Xpath 是 python 爬虫过程中非常重要的一个用来定位的一种语法. 一.开始使用 首先我们需要得到一个 HTML 源代码,用来模拟爬取网页中的源代 ...

  7. 爬虫神器xpath的用法(三)

    xpath的多线程爬虫 #encoding=utf-8 ''' pool = Pool(4) cpu的核数为4核 results = pool.map(爬取函数,网址列表) ''' from mult ...

  8. 爬虫神器XPath,程序员带你免费获取周星驰等明星热门电影

    本教程由"做全栈攻城狮"原创首发,本人大学生一枚平时还需要上课,但尽量每日更新文章教程.一方面把我所习得的知识分享出来,希望能对初学者有所帮助.另一方面总结自己所学,以备以后查看. ...

  9. 互联网金融爬虫怎么写-第一课 p2p网贷爬虫(XPath入门)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 相关教程: 手把手教你写电商爬虫-第一课 找个软柿子捏捏 手把手教你写电商爬虫-第二课 实战尚妆网分页商品采集爬虫 手把手教你写电商爬虫-第三课 ...

随机推荐

  1. 如何一步一步新建一个Owin项目

    打开VS2015,新建Web应用程序,命名为OwinWeb(名字随意). 在弹出的“新建ASP.NET项目”窗口中选择“Empty”模板,“为以下项添加文件夹和核心引用”处全不选.点击确定. 创建完后 ...

  2. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  3. 爬虫-day02-抓取和分析

    ###页面抓取### 1.urllib3     是一个功能强大且好用的HTTP客户端,弥补了Python标准库中的不足     安装: pip install urllib3     使用: imp ...

  4. Linux下mysql的root密码修改方法(ERROR 1054)

    #1.停止mysql数据库 /etc/init.d/mysqld stop #2.执行如下命令 mysqld_safe --user=mysql --skip-grant-tables --skip- ...

  5. 使用Excel自动生成sql语句

    在近一段日子里,进入了新的项目组,由于项目需要,经常要将一些Excel表中的数据导入数据库中,以前并没有过多的接触过数据导入与数据处理,对于我来说比较痛苦,今天下午花了几个小时处理数据,但是同事给我提 ...

  6. nginx1.14.0版本server、location、rewrite配置

    server配置demo 在192.168.10.140(centos7)上修改: /home/program/nginx/conf/nginx.conf 添加一个server server { li ...

  7. Android Studio 1.0~3.3加载android源码 笔记

    一. AS3.3上出现问题: 1. File Z:\Project\****\***\AndroidManifest.xml doesnt exist 分析引用: ------------------ ...

  8. microsoft.jet.oledb.4.0 未注册

    64位系统已经不支持4.0 解决办法 1.下载 ACE2010的驱动,64位的. http://www.microsoft.com/downloads/zh-cn/details.aspx?famil ...

  9. linux日志logger命令详解

    通过logger命令记录日志 logger是一个shell命令接口,可以通过该接口使用Syslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息. ------------------- ...

  10. 05-Eclispe配置Tomcat插件

    此插件只针对 eclipse-java-indigo-SR2-win32 这个开发工具使用的 1.下载tomcat插件 2.解压到指定位置 3.找到eclispe安装目录 D:\software\ec ...