iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 网络抓取和文本挖掘 - 3
  • 577
分享到

Python 网络抓取和文本挖掘 - 3

文本网络Python 2023-01-31 06:01:36 577人浏览 八月长安

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

摘要

XPath 是一种查询语言,用于在html/XML文档中定位和提取一些片段。XPath也是一个W3C标准。XPath只能处理DOM,所以必须先将HTML或XML文档加载解析成DOM。在python中可以用lxml保的etree来 执行DO

XPath 是一种查询语言,用于在html/XML文档中定位和提取一些片段。XPath也是一个W3C标准。XPath只能处理DOM,所以必须先将HTML或XML文档加载解析成DOM。在python中可以用lxml保的etree来 执行DOM解析和XPath查询。

1. 示例文件

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
<html> <head>
<title>Collected R wisdoms</title>
</head>

<body>
<div id="R Inventor" lang="english" date="June/2003">
  <h1>Robert Gentleman</h1>
  <p><i>'What we have is nice, but we need something very different'</i></p>
  <p><b>Source: </b>Statistical Computing 2003, Reisensburg</p>
</div>

<div lang="english" date="October/2011">
  <h1>Rolf Turner</h1>
  <p><i>'R is wonderful, but it cannot work magic'</i> <br><emph>answering a request for automatic generation of 'data from a known mean and 95% CI'</emph></p>
  <p><b>Source: </b><a href="https://stat.ethz.ch/mailman/listinfo/r-help">R-help</a></p>
</div>

<address><a href="Http://www.r-datacollectionbook.com"><i>The book homepage</i><a/></address>

</body> </html>

2. 文件的DOM结构


3. xpath路径

对于HTML文档 ,可以用到达该节点的顺序来描述它的位置,如示例文件中<i>元素,它的XPath为"/html/body/div/p/i",提取该文档<i>节点数据,这个是绝对路径,可以匹配到两条数据;另外可以使用相对路径,如"//i" 这样可以匹配到三条数据,//表示可以从某个路径开始,这条相对路径效率比较低,会导致对文档树进行完全遍历。Python代码如下:

f = open("fortunes.html", "r")
    content = f.read()
    f.close()
    html = et.HTML(content)

    elements = html.xpath('/html/body/div/p/i')
    for ele in elements:
        print ele.text

    print ""
    
    elements = html.xpath('//i')
    for ele in elements:
        print ele.text

4. 用节点关系构建XPath

利用这个特性构建XPath的语法为:node1/relation::node2,同样上述html文档,用这个语句就可以构造一个XPath来提取第2个<div>下的<i>元素。

语句为:  //a/acenstor::div//i 表示这条路径中的i是一个div后代,同时这个div又是一个a的祖先,从文档树的结构看,只有第2个div具备这个特性。

XPath 轴用来表示的节点与上下文节点之间的关系,如图所示。


4. XPath谓语

谓语是能针对节点的名字、值或属性进行调用的简单函数,这些函数会对某个条件 (或一组条件)是true还是false进行判断。结果为true的那些节点会被选中。

XPath谓语的语法:node[predicate]



数字谓语,利用文档中的数字属性,如计数或位置,创建条件语句,如:'//div/p[position()=1]’  返回第一个位置的<p>

文本谓语,根据文档中元素的名字、内容、属性或属性值中的文本选取节点,如 '//div[@date="october/2011]"'

5. 提取节点元素

   在python中用lxml可以方便的获得元素的标签名、内容t和属性,分别对应的是lxml.etree._Element类的tag、text属性和items()方法。

if __name__ == '__main__':
    f = open("fortunes.html", "r")
    content = f.read()
    f.close()
    html = et.HTML(content)

    elements = html.xpath('//')
    for ele in elements:
        print type(ele)
        print ele.tag
        print ele.items()

此外,关于正则表达式、http、sqlajax的相关知识就跳过,这些以前都接触过。










--结束END--

本文标题: Python 网络抓取和文本挖掘 - 3

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python 网络抓取和文本挖掘 - 3
    XPath 是一种查询语言,用于在HTML/XML文档中定位和提取一些片段。XPath也是一个W3C标准。XPath只能处理DOM,所以必须先将HTML或XML文档加载解析成DOM。在Python中可以用lxml保的etree来 执行DO...
    99+
    2023-01-31
    文本 网络 Python
  • Python 网络抓取和文本挖掘-1 H
    偶然在图书馆看到《基于R语言的自动数据收集:网络抓取和文本挖掘实用指南》,被第一章概述所吸引,迫不及待地借回来,下载代码在RStuido里进行实验。然后断断续续,囫囵吞枣式地翻了一遍,增长了知识,但没有如预期提升技能。决定换一种方式,照着...
    99+
    2023-01-31
    文本 网络 Python
  • Python数据抓取、分析、挖掘和分布式计算内容有哪些
    本篇内容主要讲解“Python数据抓取、分析、挖掘和分布式计算内容有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python数据抓取、分析、挖掘和分布式计算内容有哪些”吧!01 数据抓取背...
    99+
    2023-06-17
  • 如何在PHP中进行文本处理和文本挖掘?
    随着互联网和数据量的快速增长,文本处理和文本挖掘成为了计算机领域中的必要技能。PHP作为一种通用脚本语言,常被用于开发Web应用程序。不管是用于数据挖掘还是日常开发中的文本处理,PHP都是一个非常有用的工具。在本文中,我们将会介绍一些在PH...
    99+
    2023-05-21
    PHP 文本处理 文本挖掘
  • 怎么用python爬虫抓取网页文本
    使用Python爬虫抓取网页文本可以使用第三方库requests和beautifulsoup。首先,安装requests和beaut...
    99+
    2023-10-18
    python
  • PHP中如何进行自动文本分类和数据挖掘?
    PHP是一种优秀的服务器端脚本语言,广泛应用于网站开发和数据处理等领域。随着互联网的快速发展,数据量的不断增加,如何高效地进行自动文本分类和数据挖掘成为了一个重要的问题。本文将介绍在PHP中进行自动文本分类和数据挖掘的方法和技巧。一、什么是...
    99+
    2023-05-22
    数据挖掘 PHP 自动分类
  • 如何在PHP中进行社交网络分析和数据挖掘?
    随着社交网络的不断发展,人们越来越多地使用这些平台来获取信息、进行交互和分享内容。这也为数据挖掘和社交网络分析提供了更多的机会。在PHP中,我们可以利用一些工具和技术来分析和挖掘社交网络数据。本文将介绍一些常见的PHP社交网络分析和数据挖掘...
    99+
    2023-05-21
    数据挖掘 PHP 社交网络分析
  • 如何在Python中进行网络数据抓取
    如何在Python中进行网络数据抓取网络数据抓取是指从互联网上获取信息的过程,在Python中,有许多强大的库可以帮助我们实现这个目标。本文将介绍如何使用Python进行网络数据抓取,并提供具体的代码示例。安装必要的库在开始之前,我们需要安...
    99+
    2023-10-22
    数据抓取 Python编程 网络数据抓取
  • python如何实现基本的抓取网页
    这篇文章主要介绍了python如何实现基本的抓取网页,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。基本抓取网页get方法import urllib2url ...
    99+
    2023-06-17
  • Python:网页的抓取、过滤和保存
    Python:网页的抓取、过滤和保存 环境:Python 2.7.3,win10 一、抓取 目的地是ZOL笑话大全 地址:http://xiaohua.zol.com.cn/new/2.html 网址的组成要灵活点,这个网站的...
    99+
    2023-01-31
    网页 Python
  • 新鲜出炉“网络挖掘”全新Python视频教程,数据工作者必看
    如果你有几年数据分析经验,或是掌握一定的统计算法/机器学习技能,为了个人能力更好的提升,建议你最好掌握“网络挖掘”。但不少人对“网络挖掘”所知甚少,到底什么是网络挖掘呢?网络型数据挖掘(简称网络挖掘)是一项主流的、重要的数据挖掘技术,常见的...
    99+
    2023-06-02
  • PHP中如何进行网络爬虫和数据抓取?
    随着互联网时代的到来,网络数据的爬取与抓取已成为许多人的日常工作。在支持网页开发的程序语言中,PHP以其可扩展性和易上手的特点,成为了网络爬虫和数据抓取的热门选项。本文将从以下几个方面介绍PHP中如何进行网络爬虫和数据抓取。一、HTTP协议...
    99+
    2023-05-20
    PHP 网络爬虫 数据抓取
  • 使用Python和Scrapy实现抓取网站数据
    目录一、安装Scrapy二、创建一个Scrapy项目三、定义一个Scrapy爬虫四、运行Scrapy爬虫五、保存抓取的数据六、遵守网站的robots.txt七、设置下载延迟八、使用中...
    99+
    2023-05-12
    Python Scrapy抓取网站数据 Python Scrapy抓取数据 Python Scrapy
  • 如何用Python网络爬虫抓取百度贴吧评论区图片和视频
    如何用Python网络爬虫抓取百度贴吧评论区图片和视频,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。百度贴吧是全球最大的中文交流平台,你是否跟我一样,有时候看到评论区的图片...
    99+
    2023-06-01
  • Python爬虫之使用BeautifulSoup和Requests抓取网页数据
    目录一、简介二、网络爬虫的基本概念三、Beautiful Soup 和 Requests 库简介四、选择一个目标网站五、使用 Requests 获取网页内容六、使用 Beautifu...
    99+
    2023-05-14
    Python爬虫 使用BeautifulSoup和Requests Python爬虫抓取网页数据
  • 怎么使用Python抓取和优化所有网站图像
    本篇内容介绍了“怎么使用Python抓取和优化所有网站图像”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!要求和假设已安装 Python 3 ...
    99+
    2023-07-05
  • 如何使用Python抓取和优化所有网站图像
    目录要求和假设安装模块导入 Python 模块启动网络爬网规范化和修剪爬网数据创建输出文件夹处理图像的网址流程映像优化图像结论我发布了一个通过FTP自动优化新图像的教程。这次我们将抓...
    99+
    2023-02-24
    Python 抓取和优化所有网站图像 Python 抓取网站图像
  • 如何用python抓取网站教程并制作成PDF文档
    这篇文章主要介绍“如何用python抓取网站教程并制作成PDF文档”,在日常操作中,相信很多人在如何用python抓取网站教程并制作成PDF文档问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用python...
    99+
    2023-06-04
  • Python爬虫之怎么使用BeautifulSoup和Requests抓取网页数据
    这篇文章主要介绍了Python爬虫之怎么使用BeautifulSoup和Requests抓取网页数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python爬虫之怎么使用BeautifulSoup和Reque...
    99+
    2023-07-05
  • python 获取网络时间及修改本地时间
     本本经常时间错乱,偶闲暇之作,专为同步本本时间。以前有朋友提到日期时间设置里面的有些时间服务器。限于不同的网络,有时候这些时间服务器不一定能用。因此这次选择的是www.baidu.com这个大家都能用吧。接下来上python...
    99+
    2023-01-31
    时间 网络 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作