• 首页
    • English
    • 中文
  • 关于我们
  • 服务项目
    • 谷歌SEO服务
    • WordPress建站服务
    • 谷歌ADS/SEM代运营
  • 项目案例
    • 医疗
    • 建材
    • 机械加工
    • 照明
    • 电商
    • 电脑硬件
  • 博客
    • 服务器运维
      • aliyun
      • 服务器安装
      • 宝塔面板
      • 虚拟化
      • 阿里云
      • Centos
      • linux
      • nginx
    • 电子商务
    • 免费资源
    • PHP
      • Magento
      • WordPress
    • 大数据采集
    • Python
    • Javascript
    • SEO
    • 未分类
  • 联系我们
What's Hot

机械模具加工公司网站设计案例

24 10 月, 2023

快速原型公司案例

24 10 月, 2023

陶瓷加工网站案例

24 10 月, 2023
Facebook Twitter Instagram
  • 中文
  • English
Facebook Twitter Instagram
VPSEO VPSEO
  • 首页
    • English
    • 中文
  • 关于我们
  • 服务项目
    • 谷歌SEO服务
    • WordPress建站服务
    • 谷歌ADS/SEM代运营
  • 项目案例
    • 医疗
    • 建材
    • 机械加工
    • 照明
    • 电商
    • 电脑硬件
  • 博客
    • 服务器运维
      • aliyun
      • 服务器安装
      • 宝塔面板
      • 虚拟化
      • 阿里云
      • Centos
      • linux
      • nginx
    • 电子商务
    • 免费资源
    • PHP
      • Magento
      • WordPress
    • 大数据采集
    • Python
    • Javascript
    • SEO
    • 未分类
  • 联系我们
VPSEO VPSEO
Home»Python»Python爬虫入坑笔记 – XPath快速定位网页内容
Python

Python爬虫入坑笔记 – XPath快速定位网页内容

chrispengcnBy chrispengcn7 8 月, 2021没有评论1 Min Read
Facebook Twitter Pinterest LinkedIn Tumblr Email
Share
Facebook Twitter LinkedIn Pinterest Email

Python爬虫入坑笔记 – XPath快速定位网页内容

XPATH语句可以用来快速定位一个XML文本中的内容,当然也可以是HTML文本,这里我们使用lxml库来解析,达到快速批量获取网页相似内容的功能

安装

$ pip install lxml

基本使用

假设匹配出网页所含所有图片的链接

from lxml import etree
import requests

html = requests.get('http://www.lzu.edu.cn').content.decode('utf-8')
##获取网页代码

dom_tree = etree.HTML(html)

###XPath匹配
links = doc_tree.xpath('//img/@src')

for i in links:
    print(i)

##将会输出网页中所有图片标签的链接

XPath语法讲解

我们假设有如下网页

<html>
    <head>
        <title>这是标题</title>
    </head>
    <body>
        <div class="cn_search_engine">
            <a href="http://www.baidu.com">百度</a>
        </div>
        <div class="other_search_engine">
            <a href="http://www.bing.com">Bing</a>
            <a href="http://www.google.com">Google</a>
        </div>
    </body>
</html>

如上,HTML标签是一个树形结构,我们称这个为DOM树,xpath匹配出其中的元素,相当于在树中查找子节点啊,因此效率相对正则表达式要高

  • “//”和”/”的区别
    两者都用来表示一个节点的路径,不同节点名用“/”分开
    //代表相对路径,匹配可以是任意深度的节点
    / 代表绝对路径,故对于网页来说,匹配从/html开始

如同样是解析上述数据中的所有的链接,下面两语句等价

....
##省略若干代码,dom_tree为我们解析之后的etree对象

##语句一:
dom_tree.xpath('/html/body/div/a/@href')

##语句二:
dom_tree.xpath('//div/a/@href')
  • 获取元素属性和文字的区别
dom_tree.xpath('//div/a/@href')
#将返回所有的链接网址

dom_tree.xpath('//div/a/text()')
#将获取所有链接的名称

Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
chrispengcn
  • Website

Related Posts

python自动发布文章到wordpress

23 10 月, 2021

Python发布WordPress文章 – md 文件

23 10 月, 2021

【自动发文】python实现WordPress文章发布(三):批量发布文章

23 10 月, 2021

Web Scraper——轻量数据爬取利器

7 8 月, 2021
Add A Comment

Leave A Reply Cancel Reply

*

code

导航
  • 首页
  • 关于我们
  • 服务项目
  • 项目案例
  • 博客文章
  • 联系我们
博客
  • 服务器运维
  • 服务器安装
  • nginx
  • PHP
  • WordPress
  • Python
  • Javascript
  • SEO
  • 电子商务
  • 大数据采集
  • 宝塔面板
  • 数据库
  • 电子商务
  • 虚拟化
  • 阿里云
导航
  • 首页
  • 关于我们
  • 谷歌SEO服务
  • 谷歌ADS/SEM代运营
  • WordPress建站服务
  • 项目案例
  • 博客
  • 联系我们
最新文章
  • 机械模具加工公司网站设计案例
  • 快速原型公司案例
  • 陶瓷加工网站案例
  • CNC数控加工日文网站案例
  • 触摸一体机数字标牌厂家网站案例
关于我们
关于我们

广州纬来科技有限公司
联系地址:广东省广州市番禺区富华中路富源二街18号合和大厦809

QQ : 13602156
Email : 13926026058@139.com
Contact: +86 13926026058

Facebook Twitter YouTube LinkedIn
© 2025 广州纬来科技有限公司 粤ICP备2023105857号-2
  • 首页
  • 关于我们
  • 谷歌SEO服务
  • 谷歌ADS/SEM代运营
  • WordPress建站服务
  • 项目案例
  • 博客
  • 联系我们

Type above and press Enter to search. Press Esc to cancel.