算是本人的学习笔记吧,仅供个人学习使用。

以下内容摘自《Python3网络爬虫开发实战--崔庆才著》

1.lxml

XPath 常用规则

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

具体阐述:

目的 示例 含义
所有节点 //li 以//开头,表示获取所有li节点
节点选取 //li 获取所有li节点
//li/a 获取所有li节点的所有直接a子节点
//li//a 获取li节点下的所有子孙a节点
//a[@href="link4.html"] 获取href属性为link4.html的a节点
节点选取 //a[@href="link4.html"]/.. 获取href属性为link4.html的a节点的父节点
文本获取 text() 获取节点内部的文本
//li[@class="item-0"]/text() 选取class属性为item-0的li节点的直接子节点内部的文本
//li[@class="item-0"]//text() 选取class属性为item-0的li节点的子孙节点内部的文本
属性获取 @ 获取节点的属性
//li/a/@href 获取所有li节点的直接子节点a的href属性,返回内容可能为"link4.html"
属性多值匹配 contains(classname,classvalue)方法 第一个参数传入属性名称,第二个参数传入属性值
//li[contains(@class,"li")]/a/text() 获取class属性值包含"li"的li节点的直接子节点a内部的文本
多属性匹配 and运算符 根据多个属性确定一个节点
//li[contains(@class,"li") and @name="item"]/a/text() 需要同时根据class和name属性的值来确定li节点

2.BeautifulSoup库的方法选择器

载入库

from bs4 import BeautifulSoup

soup=BeautifulSoup(html,"lxml") #进行BeautifulSoup对象的初始化

  • find_all(name,attrs,recursive,text,**kwargs):查询所有符合条件的元素;find()返回的是第一个匹配的元素
参数 作用 示例
name 根据节点名查询元素 soup.fina_all(name="ul") #查询所有的ul节点
attrs 根据属性查询 soup.find_all(attrs={'id':'list-1'})) #查询id属性值为list-1的节点
text 匹配节点的文本 soup.find_all(text=re.compile('link')) #返回所有匹配正则表达式的节点的文本组成的列表

lxml库和BeautifulSoup库常用点小结的更多相关文章

  1. requests 库和beautifulsoup库

    python 爬虫和解析 库的安装:pip install requests; pip install beautifulsoup4 requests 的几个常用方法: requests.reques ...

  2. python爬虫学习(一):BeautifulSoup库基础及一般元素提取方法

    最近在看爬虫相关的东西,一方面是兴趣,另一方面也是借学习爬虫练习python的使用,推荐一个很好的入门教程:中国大学MOOC的<python网络爬虫与信息提取>,是由北京理工的副教授嵩天老 ...

  3. BeautifulSoup库整理

    BeautifulSoup库 一.BeautifulSoup库的下载以及使用 1.下载 pip3 install beautifulsoup4 2.使用 improt bs4 二.BeautifulS ...

  4. Python:requests库、BeautifulSoup4库的基本使用(实现简单的网络爬虫)

    Python:requests库.BeautifulSoup4库的基本使用(实现简单的网络爬虫) 一.requests库的基本使用 requests是python语言编写的简单易用的HTTP库,使用起 ...

  5. 【Python】在Pycharm中安装爬虫库requests , BeautifulSoup , lxml 的解决方法

    BeautifulSoup在学习Python过程中可能需要用到一些爬虫库 例如:requests BeautifulSoup和lxml库 前面的两个库,用Pychram都可以通过 File--> ...

  6. Python爬虫小白入门(三)BeautifulSoup库

    # 一.前言 *** 上一篇演示了如何使用requests模块向网站发送http请求,获取到网页的HTML数据.这篇来演示如何使用BeautifulSoup模块来从HTML文本中提取我们想要的数据. ...

  7. beautifulsoup库使用

    介绍与安装 Beautiful Soup 是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据.BeautifulSoup 用来解析 HTML 比较简单, API非常人 ...

  8. BeautifulSoup库的使用

    1.简介 BeautifulSoup库也是一个HTML/XML的解析器,其使用起来很简单,但是其实解析网站用xpath和re已经足矣,这个库其实很少用到.因为其占用内存资源还是比xpath更高. '' ...

  9. BeautifulSoup库

    '''灵活又方便的网页解析库,处理高效,支持多种解析器.利用它不用编写正则表达式即可方便的实现网页信息的提取.''' BeautifulSoup库包含的一些解析库: 解析库 使用方法 优势 劣势 py ...

  10. python BeautifulSoup库的基本使用

    Beautiful Soup 是用Python写的一个HTML/XML的解析器,它可以很好的处理不规范标记并生成剖析树(parse tree). 它提供简单又常用的导航(navigating),搜索以 ...

随机推荐

  1. 公司有两台电脑,却分给一个上网ip

    解决办法,只限于本公司: 电脑a和电脑b 电脑a先用ip 6.21上网,之后将ip改为其它: 电脑b改为6.21 此时两台电脑都能上网了

  2. SAP SMARTFORMS World格式白屏

    解决方法: SE38 RSCPSETEDITOR 不勾选SAP script 和智能表

  3. JavaScript查找两个节点的最近的一个共同父节点,可以包括节点自身

  4. WeNet调试

    运行: 参照:markdown 问题: CMake Error: Error: generator : Ninja Ninja:提高构建速度 wenet/runtime/libtorch/fc_bas ...

  5. Word18 制作家长会通知office真题

    1.课程的讲解之前,先来对题目进行分析,首先需要在考生文件夹下,将Wrod素材.docx文件另存为Word.docx,后续操作均基于此文件,否则不得分. 2.这一步非常的简单,打开下载素材文件,在[文 ...

  6. VMware-SSH协议的认证方式

    SSH1协议支持非对称密钥认证方式.口令认证,无法保证连接的完整性. SSH2协议支持SSH1协议支持的所有认证方式,增加数据保密性. 基于主机的认证方式[!不安全!] 当本地计算机收到执行远程命令的 ...

  7. leetcode 31. 下一个排列 【时间击败 100%】 【内存击败 92.17%】

    对于该题,我本来兴致勃勃地想到了两个优化,但从提交结果来看根本看不出来有什么区别,但我发4我说的都是真的 -3- 1 public void nextPermutation(int[] nums) { ...

  8. python连接数据库系列

    1.Python连接MySQL 具体详情参考:MySQL笔记 Python连接MySQL需要借助pymysql,安装pymysql pip install pymysql 1.1 pymysql连接数 ...

  9. npm发包

    1.npm init 2.注册npm,https://www.npmjs.com/ 3.npm需要更新最新的npm 4.npm login 5.npm publish --access=public

  10. 十二、21.提交本地代码到Git仓库并推送到码云

    查看分支 运行git add . 把所有修改过后文件添加到暂存区 git commit 把当前所有的代码提交到rights分支 加-m加一个消息 到此所有的功能模块都已经提交到了rights这个分支里 ...