首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从一些文章中获取完整的维基百科修订历史列表?

要从一些文章中获取完整的维基百科修订历史列表,你需要使用维基百科提供的API来获取特定页面的修订历史。以下是获取维基百科修订历史的基本步骤和相关概念:

基础概念

  1. 维基媒体API:维基百科使用维基媒体API来提供数据访问服务,包括页面内容、修订历史等。
  2. 修订历史:每个维基百科页面都有一个修订历史,记录了页面自创建以来的所有编辑。

相关优势

  • 自动化:可以自动化获取修订历史,无需手动检查每个版本。
  • 数据分析:获取的修订历史可以用于分析页面编辑趋势、编辑者行为等。

类型

  • 完整修订历史:包含页面的所有编辑记录。
  • 部分修订历史:可以指定时间范围或编辑次数来获取部分修订历史。

应用场景

  • 学术研究:研究维基百科页面的编辑模式和内容变化。
  • 数据分析:分析特定主题的编辑趋势和社区参与度。
  • 内容审核:监控页面内容的变化,进行内容审核。

获取修订历史的步骤

  1. 确定页面标题:首先需要知道你要获取修订历史的维基百科页面标题。
  2. 构造API请求:使用维基媒体API的revisions动作来构造请求URL。
  3. 发送请求:通过HTTP GET请求发送到API端点。
  4. 解析响应:解析API返回的JSON数据,提取修订历史信息。

示例代码

以下是一个使用Python获取维基百科页面修订历史的示例代码:

代码语言:txt
复制
import requests

def get_wikipedia_revision_history(page_title):
    base_url = "https://en.wikipedia.org/w/api.php"
    params = {
        "action": "query",
        "format": "json",
        "prop": "revisions",
        "titles": page_title,
        "rvprop": "timestamp|user",
        "rvlimit": 500,  # 最大允许的修订数量
        "rvdir": "newer"  # 获取最新的修订
    }
    
    response = requests.get(base_url, params=params)
    data = response.json()
    
    revisions = []
    for page_id, page_info in data["query"]["pages"].items():
        if "revisions" in page_info:
            for rev in page_info["revisions"]:
                revisions.append({
                    "timestamp": rev["timestamp"],
                    "user": rev["user"]
                })
    
    return revisions

# 示例使用
page_title = "Python (programming language)"
revision_history = get_wikipedia_revision_history(page_title)
for rev in revision_history:
    print(f"Timestamp: {rev['timestamp']}, User: {rev['user']}")

参考链接

可能遇到的问题及解决方法

  1. API限制:维基媒体API有请求频率限制,如果超过限制,可以尝试使用rvcontinue参数进行分页请求。
  2. 页面不存在:如果请求的页面不存在,API会返回错误信息,需要检查页面标题是否正确。
  3. 数据解析错误:确保正确解析API返回的JSON数据,特别是处理嵌套结构时。

通过以上步骤和代码示例,你可以获取并处理维基百科页面的修订历史。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在 WordPress 获取最新被评论文章列表

我之前「WordPress 文章查询教程6:如何使用排序相关参数」详细介绍了文章查询排序参数,其中介绍可以通过评论数进行排序: $query = new WP_Query( array(...'orderby' => 'comment_count' ) ); 但是需求总是不停变化,现在又有了新需求,获取最新被评论文章列表,意思就是某篇文章刚被评论,它就排到最前面,在某些社交需求网站可能需要用到...clauses['orderby'] = "cid {$order}"; } return $clauses; }, 10, 2); 上面的代码简单解释一下,就是通过 posts_clauses 接口实现文章表和评论表连表...,然后通过评论时间进行排序获取最新被评论文章列表。...当然你也可以不需要了解和使用上面的代码,因为 WPJAM Basic 已经整合,你只需要知道最后可以通过下面简单方式就能够获取最新被评论文章列表: $query = new WP_Query( array

1.5K30

维基百科数据科学:手把手教你用Python读懂全球最大百科全书

维基百科不仅是你写大学论文时最好信息渠道,也是一个极其丰富数据源。 自然语言处理到监督式机器学习,维基百科助力了无数数据科学项目。...考虑好下载什么 上述代码把dump里所有文件都找出来了,你也就有了一些下载选择:文章当前版本,文章页以及当前讨论列表,或者是文章所有历史修改版本和讨论列表。...文章由标签区分,如果Content Handler遇到一个代表结束 标签,它将添加self._values 到文章列表(self._pages)。...例如,以下代码文章创建了一个wikicode对象,并检索文章 wikilinks()。...要查找你感兴趣文章类别的信息框模板,请参阅信息框列表如何将用于解析文章mwparserfromhell 与我们编写SAX解析器结合起来?

1.6K30
  • 用 @Audited 注解增强 Spring Boot 应用,打造健壮数据审计功能

    为了确保数据完整性,企业和开发人员需要一种高效方式记录数据变更历史,以便在需要时回溯或审查。...YourEntity.class: 想要检索审计历史实体类。entityId: 想要获取修订记录实体特定ID。...List: 结果是一个审计实体列表(YourEntity_AUD),列表每一项代表该实体一个修订版本。...依赖引入、实体类配置,到如何通过Spring Data JPA及Hibernate Envers获取审计数据,每一个步骤都展示了这个工具灵活性和强大功能。...因此,这行代码实际上是在查询具有给定ID实体所有修订历史,并将结果存储在审计实体列表。然后,可以使用该列表来分析或显示不同修订版本对实体所做更改。

    16410

    用PandasHTML网页读取数据

    首先,一个简单示例,我们将用Pandas字符串读入HTML;然后,我们将用一些示例,说明如何Wikipedia页面读取数据。...函数完整使用方法,下面演示示例: 示例1 第一个示例,演示如何使用Pandasread_html函数,我们要从一个字符串HTML表格读取数据。...PandasDataFrame对象,而是一个Python列表对象,可以使用tupe()函数检验一下: type(df) 示例2 在第二个示例,我们要从维基百科抓取数据。...= df.columns.get_level_values(1) 最后,如你所见,在“Date”那一列,我们用read_html维基百科网页表格获得数据之后,还有一些说明,接下来使用str.replace...HTML读取数据并转化为DataFrame类型 本文中,学习了用Pandasread_html函数HTML读取数据方法,并且,我们利用维基百科数据创建了一个含有时间序列图像。

    9.5K20

    每天上千条文本过时,累死志愿者维基百科被MIT最新AI接手啦!

    由于事实发生变更,每天有千上万文章需要及时更新。编辑工作涉及文章扩展、重大改写,或诸如更新数据、日期、人名和地点等例行修订。现在,这项任务由世界各地志愿者维护着。...论文合著者之一Darsh Shah,一位来自计算机科学与人工智能实验室(CSAIL)博士生表示,“维基百科文章一直都有大量更新工作,如果能减少或没有人工干预情况下,实现自动、准确地修订文章,那会非常有价值...不再需要耗费大量人力来修订维基百科文章,只需几个人便即可搞定,因为模型可以自动完成,这是巨大提升。 事实上,已经有许多其他机器人能自动编辑维基百科。...“中立屏蔽” 依托一系列文本生成技术,系统得以识别句子矛盾信息,并将两个独立句子融合在一起。将维基百科文章“过时”句子和“声明”句子作为输入,声明句子包含了更新和冲突信息。...研究者在维基百科项目中使用了同样删除和融合技术来平衡数据集中“不同意-同意”对,以缓解偏差。对一些“不同意”句子对,他们使用修正语句中错误信息来为句子重新生成一个假“证据”。

    44210

    彻底搞懂 etcd 系列文章(九):etcd compact 和 watch API

    《彻底搞懂 etcd 系列文章》将会 etcd 基本功能实践、API 接口、实现原理、源码分析,以及实现踩坑经验等几方面具体展开介绍 etcd。...预计会有 20 篇左右文章,笔者将会每周持续更新,欢迎关注。 1 Compact方法 Compact 方法压缩 etcd 键值对存储事件历史。...原子,保证事件清单包含完整修订版;同一修订通过多个键进行更新不会拆分为多个事件列表。 Watch service 定义 在 rpc.proto Watch service 定义如下: ?...整个事件历史可以最后压缩修订版本开始观察。WatchService 只有一个 Watch 方法。...客户端应该记录 watch_id 并期待同样为创建观察者接收事件。

    2.2K10

    维基百科背后,有场旷日持久机器人编辑之战,开发者都不曾料到

    这一发现不仅影响着维基百科页面的质量,也对人工智能发展有深远影响,特别是在网络上一些简单自动代理。 目前,英文版维基百科有41,517,866个页面。...同一时期内,在英语版维基百科上每个机器人对其他机器人工作进行了105次修订,这是人类编辑类似行为三倍。在德语版上,机器人之间是最和谐,在过去十年里平均只有24次冲突。...但是维基百科机器人通常在初始修订之后一个月再进行第一次修订。这些编辑冲突不是灾难性,但考虑到其内容不断在变化,它可能会误导阅读网站用户。...机器人比人类反应更慢,是因为它们通过“抓取”网络文章来进行修改,而不是接收系统警报。而且,在规定时间内其允许修改文章数量通常受到了限制。...但是机器人之间能够一直有冲突产生问题表明,人类程序员不能完全捕捉潜在编辑问题。 重要是,当2013年初,当维基百科对网站上语言间转化工作方式进行一些优化时,机器人之间冲突大大减少了。

    846110

    「Python爬虫系列讲解」九、用 Selenium 爬取在线百科知识

    本专栏不光是自己一个学习分享,也希望能给您普及一些关于爬虫相关知识以及提供一些微不足道爬虫思路。...爬取维基百科 2.1 网页分析 2.1.1 页面获取相关词条超链接 2.1.2 调用 Selenium 定位并爬取各相关词条消息盒 2.2 完整代码实现 3 用 Selenium 爬取百度百科...百度百科实体“云冈石窟”页面信息如上图所示。 1.3 头条百科 ? 头条百科是今日头条旗下中文网络百科全书。在头条百科上,用户可以创建、编辑、修订词条,免费获取高质量信息与知识服务。...头条百科实体“Python”页面信息如上图所示。 2 用 Selenium 爬取维基百科 2.1 网页分析 本节将详细讲解如何利用 Selenium 爬取云冈石窟第一段摘要信息。...2.1.1 页面获取相关词条超链接 ?

    2.6K20

    彻底搞懂 etcd 系列文章(七):etcd gRPC 服务 API

    《彻底搞懂 etcd 系列文章》将会 etcd 基本功能实践、API 接口、实现原理、源码分析,以及实现踩坑经验等几方面具体展开介绍 etcd。...各个函数介绍如下: Range,键值存储获取范围内 key; Put,设置给定 key 到键值存储,put 请求增加键值存储修订版本并在事件历史中生成一个事件; DeleteRange,键值存储删除给定范围...,删除请求增加键值存储修订版本并在事件历史为每个被删除key生成一个删除事件; Txn,在单个事务处理多个请求,一个 txn 请求增加键值存储修订版本并为每个完成请求生成带有相同修订版本事件...3.2 Range方法 Range 方法键值存储获取范围内 key,定义如下: rpc Range(RangeRequest) returns (RangeResponse) {} 需要注意是没有操作单个...3.4 DeleteRange 方法 DeleteRange 方法键值存储删除给定范围。删除请求增加键值存储修订版本并在事件历史为每个被删除key生成一个删除事件。

    3.4K50

    Python在Finance上应用5 :自动获取是S&P 500成分股

    欢迎来到Python for Finance教程系列第5讲。 在本教程和接下来几篇文章,我们将着手研究如何为更多公司提供大量定价信息,以及我们如何一次处理所有这些数据。...我可以给你一个清单,但实际上获得股票清单可能只是你可能遇到众多挑战之一。 在我们案例,我们需要一个标普500公司Python列表。...在我们例子,我们将从维基百科获取列表http://en.wikipedia.org/wiki/List_of_S%26P_500_companies. 维基百科代号/符号被组织在table。...,我们将使用 请求Wikipedia页面获取源代码。...我知道指定此表唯一原因是因为我首先在浏览器查看了源代码。 可能会有一段时间,你想解析一个不同网站股票列表,也许它是在一个table,或者它可能是一个list,也可能是一些div tags。

    2.2K10

    八、《图解HTTP》 - HTTPS

    无法验证报文完整,无法防篡改。 除了协议本身漏洞之外,一些编程语言也可能编写出不安全网络应用程序。 明文窃听 既然HTTP是不加密通信,那么自然会好奇它是如何被窃听。...而HTTP同样历史发展悠久,也难以在短时间内对于协议修订和增强。...这里参考维基百科介绍,大致介绍TLS/SSL 历史。 感兴趣想要阅读原文童鞋可以看看“参考资料”。 SSL 1.0、2.0和3.0 SSL1.0 从来没有发布过,因为存在巨大安全漏洞和隐患。...集成会话哈希使用。 弃用记录层版本号并冻结该编号以提高向后兼容性。 将一些与安全相关算法详细信息附录移动到规范,并将 ClientKeyShare 降级到附录。...可以参考资料获取相关内容和信息 为什么不全用HTTPS 纯文本通信对比加密通信消耗更多资源 非敏感HTTPS使用意义和价值不大 购买证书开销和成本。

    57420

    彻底搞懂 etcd 系列文章(五):etcdctl 使用

    《彻底搞懂 etcd 系列文章》将会 etcd 基本功能实践、API 接口、实现原理、源码分析,以及实现踩坑经验等几方面具体展开介绍 etcd。...应用可以 etcd 集群删除一个键或者特定范围键。...为了保证更新被交付,应用必须能够观察到键历史变动。为了做到这点,应用可以在观察时指定一个历史修订版本,就像读取键过往版本一样。...:# 修订版本 2 开始观察键 `foo` 改动 etcdctl watch --rev=2 fooPUTfoobarPUTfoobar_new从上一次历史修改开始观察:# 在键 `foo` 上观察变更并返回被修改值和上个修订版本值...如我们提到,etcd 保存修订版本以便应用可以读取键过往版本。但是,为了避免积累无限数量历史数据,压缩过往修订版本就变得很重要。压缩之后,etcd 删除历史修订版本,释放资源来提供未来使用。

    3.7K10

    假期还要卷,24个免费数据集送给你

    _encoding=UTF8&jiveRedirect=1 以下是一些示例: GoogleBooksn-gram列表-一大组书中常见单词和单词组(https://aws.amazon.com/datasets...维基百科包含了惊人知识广度,包含了奥斯曼哈布斯堡战争到伦纳德·尼莫伊所有页面。作为维基百科推进知识承诺一部分,他们免费提供内容,并定期生成网站上所有文章转储。...此外,维基百科还提供了编辑历史和活动,因此我们可以跟踪某个主题页面是如何随着时间推移而演变,以及谁对此做出了贡献。...(https://meta.wikimedia.org/wiki/Mirroring_Wikimedia_project_XML_dumps#Media0) 完整网站转储-维基百科上各种格式内容(https...他们还提供了用于R和PythonSDK,以便在选择工具更容易地获取和使用数据 ❝https://www.data.world/ Data.gov data.gov 是一个相对较新网站,是美国政府开放努力一部分

    1.2K40

    维基百科你已经是个大百科了,该自己学会用ML识别原文出处了

    此外,最近统计表明,相当一部分比例文章只有很少参考文献,英文维基百科四分之一文章根本就没有任何参考文献。...通过针对英语、意大利语和法语维基百科编辑者们开展一项大型研究,我们首先确定了维基百科文章单个句子需要引用共同原因。...通过识别维基百科获取信息位置,我们能开发系统,以支持志愿者驱动验证和事实检查,从而有可能提升维基百科长期可靠性,抵御信息偏差、信息质量差距以及虚假宣传。 我们为何要引用?...添加引用理由 ? 不添加引用理由 教机器学习引用 接下来,我们训练机器学习模型来发现需要引用句子,并提供对应理由。 我们首先训练一个模型,整个编辑者社区中学习如何识别需要引用句子。...我们精选文章随机抽取了 4000 个句子,让众包工作人员使用我们在之前研究识别出八个原因进行标注。我们发现,当句子与科学或历史事实相关,或者是直接、间接引语时,我们需要提供引用。 ?

    59720

    LRU(续)

    让我们快速回顾一下我们需要方法: • push() – 添加item • peek() – 获取到期时间/优先级最低项目/桶 • remove() – 删除item • pop() – 未使用 我们在维基百科上看到优先级队列没有删除操作...因此,一个可能解决方案是将条目标记为已删除,并添加一个具有修订优先级新条目。 需要这种解决方法,因为虽然可以在 O(log n) 删除第 i 个元素,但找到它索引是 O(n)。...对于排序好列表,pop()复杂度是O(n),因为它在第一个元素之后向前移动所有剩下元素;如果顺序颠倒,我们末尾pop(),复杂度变为O(1)。...这看起来很像 Priority Buckets 代码,唯一值得注意部分是eviction()。 这篇文章已经很长了,所以这里省略了一些完整代码见文末“结论”上方。...你不需要知道如何实现所有的数据结构,这就是(软件)库和维基百科用途。但是,了解可用内容以及何时使用它是很有用

    13310

    塔说 | 如何用Python分析数字加密货币

    帮助 这篇文章目的是简单介绍“如何用Python来分析数字加密货币”。我们将用简单Python代码来检索、分析和可视化不同数字货币数据。...在这个过程,我们将揭示一个有趣趋势:这些不稳定市场是如何运作,它们又是如何发展。 比特币市场到底是如何运作?数字加密货币(cryptocurrency)跌宕起伏原因是什么?...要求技能只是对Python有基础了解,以及知道如何用命令建立一个项目。 包含运行结果notebook完整版本可以在这里下载。...步骤2.1 - 编写Quandl帮助函数 为了方便数据获取,我们要编写一个函数来下载和同步来自Quandl(https://www.quandl.com/ 号称金融数据界维基百科数据。 ?...步骤2.6 清理并加总价格数据 以上图形可以看到,尽管这四个系列数据遵循大致相同路径,但其中还是有一些不规则变化,我们将设法清除这些异常变化。

    2.3K50

    维基百科 MediaWiki API 解析

    使用开放 API 做一个自己小项目,是一个很好学习方法。但好像开放 API 选择并不多。这里给大家多一个选择,简单介绍一下维基百科使用 MediaWiki API。...文档 在了解到维基百科 API 是开放之后,我就找到了官方 API 文档,但以我目前水平,这个文档几乎完全看不懂。...在网上找了很久,希望可以有一篇文章以中文看得懂方式,告诉我这些 API 是怎么用,但很可惜并没有。 没办法,自己对着官方文档琢磨了很久,勉强总结出一些比较常用调用方法。...revisions 接下来是最重要获取页面内容了。revisions 文档解释是用来获取修订版本信息,可以用来获取最新页面数据。...比如同时返回修订时间戳、修订用户及修订内容,可以这样表示:rvprop=timestamp|user|content。 其实很多参数取值都是支持使用「|」,将多条数据一起返回。

    4K10

    三、《图解HTTP》- 报文内 HTTP信息

    当然这两年这部分悄悄做了调整,显然在后续RFC修订协议过程这些浏览器也对于这些概念进行跟进,不知道有多少人关注过,嗯,又是一个小细节。...,否则压缩不完整数据会导致数据发生错误。...注意客户端驱动如果服务端不能回应客户端请求,会退化为 服务器驱动协商,客户端驱动为了获取自己想要内容需要 第二次发送请求(第一次获取列表,第二次才是得到资源),可见客户端驱动模式并不是一种常用方式...注意代理驱动和透明代理存在一定区别,它使用了HTTP协议自创建依赖就支持又称为响应代理机制东西,这种机制也是和客户端驱动协商类似,返回资源列表给用户进行选择然后需要第二次请求获取需要资源。...代理驱动型内容协商机制则多用于支持国际化网站,比如一些大商城或者百科等,比较典型比如Apple和维基百科等这些网站,提供了“建议”选项询问用户选择哪种语言进行浏览。

    37540

    【数据库架构】Apache Couchdb 最终一致性

    如果在复制过程两个版本文档发生冲突,则胜出版本将另存为文档历史记录最新版本。CouchDB不会像您期望那样丢掉丢失版本,而是将其保存为文档历史记录先前版本,以便您可以在需要时访问它。...完整软件使用CouchDBMVCC和文档修订版,以确保在节点之间可靠地备份Songbird播放列表。...让我们检查Songbird备份应用程序工作流程,首先是作为用户单台计算机备份,然后使用Songbird在多台计算机之间同步播放列表。我们将看到文档修订如何将本来很棘手问题变成可以解决问题。...将播放列表反馈入备份应用程序后,它会CouchDB获取最新版本以及相应文档修订版。当应用程序移交新播放列表文档时,CouchDB要求文档修订包含在请求。...应用程序角度来看,从此错误恢复很容易完成。只需下载CouchDB播放列表版本,即可提供合并更改或将本地修改保存到新播放列表机会。

    1.3K30
    领券