返回顶部
首页 > 资讯 > 后端开发 > Python >python爬虫教程之bs4解析和xpath解析详解
  • 182
分享到

python爬虫教程之bs4解析和xpath解析详解

2024-04-02 19:04:59 182人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

目录bs4解析原理:如何实例化BeautifulSoup对象:用于数据解析的方法和属性:xpath解析xpath解析原理:实例化一个etree对象:xpath( ‘xpa

bs4解析

原理:

1.实例化一个BeautifulSoup对象,并且将页面源码数据加载到该对象中

2.通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取

如何实例化BeautifulSoup对象:

from bs4 import BeautifulSoup

BeautifulSoup(参数一,参数二)

参数一为文件描述符,参数二为解析器,一般为’lxml’

一对象的实例化:

1.将本地的html文档中的数据加载到该对象中

fp = open( './test.html','r',encoding='utf-8')
soup=BeautifulSoup(fp,'lxml')

2.将互联网上获取的页面源码加载到该对象中

page_text =response.text
soup=BeatifulSoup(page_text,'lxml')

soup指初始化的BeautifulSoup对象

用于数据解析的方法和属性:

1.soup.tagName:返回的是文档中第一次出现的tagName对应的标签

2.soup.find():

(1).find( ‘tagName’):等同于soup.tagName

(2).属性定位:soup.find(‘div’,class_/id/或者其他属性=‘song’)

定位到< div class=“song”>/< div id=“song”>的标签下

class如果没有加_则代表关键字

3.soup.find_all(‘tagName’):返回符合要求的所有标签(列表)

soup对象:

<div class="tang">
    <ul>
        <li><a href="Http://www.baidu.com" rel="external nofollow"  title= "ging">清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村</a></1i>
        <li><a href="http://www.163.com" rel="external nofollow"  title="qin">秦时明月汉时关,万里长征人未还,但使龙城飞将在,不教胡马度阴山</a></1i>
        <li><a href=" http://ww.126.com" rel="external nofollow" alt="qi ">歧王宅里寻常见,崔九堂前几度闻,正是江南好风景,落花时节又逢君</a></li>
        <li><a href="http: //www.sina.com" rel="external nofollow"  class="du">杜甫</a></li>
        <li><a href="http://www.dudu.com" rel="external nofollow"  class="du">杜牧</a></li>
        <li><b>杜小月</b></li>
        <li><i>度蜜月</i></li>
        <li><a href="http://ww.hana.com”id=" rel="external nofollow" feng">凤凰台上凤凰游,凤去台空江自流,吴宫花草埋幽径,晋代衣冠成古丘</a></li>
    </ul>
</div>

4.select:

- select(‘某种选择器(id,class,标签…选择器)’),返回的是一个列表。

标签什么都不加,class前面加. id前面加#

层级选择器:

>表示的是一个层级;空格表示的多个层级

     soup.select( '.tang > ul > li > a') 
     soup.select( '.tang >ul a')
     结果为:[<a href="http://www.baidu.com" title= "ging">清明时节雨纷纷,路上行人欲断魂,借问酒家何处有,牧童遥指杏花村</a>,
     <a href="http://www.163.com" title="qin">秦时明月汉时关,万里长征人未还,但使龙城飞将在,不教胡马度阴山</a>,
     <a href=" http://ww.126.com"alt="qi ">歧王宅里寻常见,崔九堂前几度闻,正是江南好风景,落花时节又逢君</a>,
     <a href="http: //www.sina.com" class="du">杜甫</a>,
     <a href="http://www.dudu.com" class="du">杜牧</a>,
    <a href="http://ww.hana.com”id="feng">凤凰台上凤凰游,凤去台空江自流,吴宫花草埋幽径,晋代衣冠成古丘</a>]

5.获取标签之间的文本数据:

-soup.a.text/string/get_text()

-text/get_text():可以获取某一个标签中所有的文本内容

-string:只可以获取该标签下面直系的文本内容

6.获取标签中属性值:

soup.a[‘属性值’]

print(soup.select( '.tang > ul > li > a') [0]['href'])
结果:
www.baidu.com

xpath解析

最常用且最便捷高效的一种解析方式。通用性。

xpath解析原理:

1.实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中。

2调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获。

实例化一个etree对象:

from lxml import etree

-1.将本地的html文档中的源码数据加载到etree对象中:

etree.parse(filePath)

-2.可以将从互联网上获取的源码数据加载到该对象中

etree.HTML( 'page_text')

xpath( ‘xpath表达式’)

xpath表达式:(返回一个列表)

-/:表示的是从根节点开始定位。表示的是一个层级。

-//:表示的是多个层级。可以表示从任意位置开始定位。

-属性定位://div[@class=‘song’] tag[@attrname=‘attrvalue’]

-索引定位://div[@class=‘song’]/p[3]

索引从1开始的

取文本:

  • /text()获取的是标签中直系的文本内容
  • //text(标签中非直系的文本内容(所有的文本内容)

取属性:

  • /@attrName
  • eg:/img/@src
  • ./表示定位到当前位置(局部解析)

多个xpath之间用|分割:

  • tree.xpath(’//div[@class=‘song’]/p[3] | //div[@class=‘song’]’)

总结

到此这篇关于python爬虫教程之bs4解析和xpath解析的文章就介绍到这了,更多相关python bs4和xpath解析内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python爬虫教程之bs4解析和xpath解析详解

本文链接: https://lsjlt.com/news/140712.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python爬虫教程之bs4解析和xpath解析详解
    目录bs4解析原理:如何实例化BeautifulSoup对象:用于数据解析的方法和属性:xpath解析xpath解析原理:实例化一个etree对象:xpath( ‘xpa...
    99+
    2024-04-02
  • 【Python爬虫】数据解析之bs4解析和xpath解析
    🔥一个人走得远了,就会忘记自己为了什么而出发,希望你可以不忘初心,不要随波逐流,一直走下去🎶 🦋 欢迎关注🖱点赞👍收...
    99+
    2023-09-06
    python 爬虫 开发语言
  • python爬虫之bs4数据解析
    一、实现数据解析 因为正则表达式本身有难度,所以在这里为大家介绍一下 bs4 实现数据解析。除此之外还有 xpath 解析。因为 xpath 不仅可以在 python 中使用,所以 bs4 和 正则解析一样,仅仅是简...
    99+
    2022-06-02
    python bs4数据解析 python bs4 python爬虫
  • Python爬虫实战之xpath解析
    XPath 是一门在 XML 文档中查找信息的语言,最初是用来搜寻 XML 文档的,但是它同样适用于 HTML 文档的搜索。 所以在Python爬虫中,我们经常使用xpath解析这种高效便捷的方式来提...
    99+
    2023-09-23
    python 爬虫 开发语言
  • Python爬虫必备之XPath解析库
    目录一、简介二、安装三、节点3.1 选取节点3.2 选取未知节点3.3 节点关系四、XPath实例一、简介 XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历...
    99+
    2022-06-02
    XPath解析库的使用 Python Xpath
  • python爬虫指南之xpath实例解析
    Python爬虫指南之XPath实例解析XPath是一种用于在XML文档中进行导航和查找元素的语言。在爬虫中,XPath可以用于解析...
    99+
    2023-08-15
    python
  • python中bs4解析和xpath解析的示例分析
    这篇文章给大家分享的是有关python中bs4解析和xpath解析的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。bs4解析原理:实例化一个BeautifulSoup对象,并且将页面源码数据加载到该对象中...
    99+
    2023-06-29
  • Python爬虫必备之XPath解析库的示例分析
    小编给大家分享一下Python爬虫必备之XPath解析库的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、简介XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进...
    99+
    2023-06-15
  • 5.网络爬虫——Xpath解析
    网络爬虫——Xpath解析 Xpath简介Xpath解析节点选择路径表达式谓语未知节点 Xpath实战演示豆果美食实战获取数据源代码 前言: 📝​&#x...
    99+
    2023-09-01
    爬虫 python 开发语言 云原生
  • Python爬虫之解析HTML页面详解
    目录用Python解析HTML页面HTML 页面的结构XPath 解析CSS 选择器解析正则表达式解析总结用Python解析HTML页面 在网络爬取的过程中,我们通常需要对所爬取的页...
    99+
    2023-05-18
    Python解析HTML Python爬虫HTML
  • python爬虫指南之xpath实例解析(附实战)
    目录前言环境的安装属性定位索引定位取文本取属性总结前言 XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻X...
    99+
    2024-04-02
  • python数据解析之XPath详解
    目录XPathXPath使用方法案例—58二手房总结XPath XPath即为XML路径语言(XML Path Language),它是一种用来确定XML文档中某部分位置的语言。 x...
    99+
    2024-04-02
  • python怎么爬虫lxml库解析xpath网页
    这篇文章主要介绍“python怎么爬虫lxml库解析xpath网页”,在日常操作中,相信很多人在python怎么爬虫lxml库解析xpath网页问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”python怎么爬...
    99+
    2023-06-30
  • python爬虫lxml库解析xpath网页过程示例
    目录前言(一)xpath是什么(二)xpath的基本语法 路径查询。(三) lxml库(四)lxml库的使用 导入lxml.etree(五)实例演示前言 在我们抓取网页内容的时候,通...
    99+
    2024-04-02
  • 爬虫之数据解析
      一、啥是数据解析   在上一篇关于爬虫的博客里,我提到过,整个爬虫分为四个部分,上一篇博客已经完成了前两步,也就是我说的最难的地方,接下来这一步数据解析不是很难,但就是很烦人,但只要你有耐心,一步一步查找、排除就会提取出目标信息,这一...
    99+
    2023-01-30
    爬虫 数据
  • Python爬虫,获取,解析,存储详解
    目录1.获取数据2.解析数据3.数据保存为CSV格式和存入数据库总结1.获取数据 import requests def drg(url): try: h...
    99+
    2024-04-02
  • Python使用lxml解析xpath爬取konachan
    要使用lxml解析xpath来爬取konachan,你可以按照以下步骤进行:1. 首先,确保你已经安装了lxml库。你可以使用以下命...
    99+
    2023-08-22
    Python
  • Python爬虫之urllib库详解
    目录一、说明:二、urllib四个模块组成:三、urllib.request1、urlopen函数2、response 响应类型3、Request对象 4、高级请求方式四、urlli...
    99+
    2024-04-02
  • python网络爬虫精解之XPath的使用说明
    目录一、XPath的介绍二、XPath使用1、选取所有节点2、获取子节点3、获取父节点4、属性匹配5、文本获取6、属性获取7、属性多值匹配8、多属性匹配9、按序选择10、节点轴选择X...
    99+
    2024-04-02
  • Python爬虫必备之Xpath简介及实例讲解
    目录前言一、Xpath简介二、Xpath语法规则语法规则标签定位属性定位索引定位取文本内容三、语法规则练习总结前言 网上已经有很多大佬发过Xpath,而且讲的都很好,我是因为刚开始学...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作