问题标签 [wikimedia-dumps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 解析维基百科转储
例如使用这个维基百科转储:
是否有现有的 Python 库可用于创建具有主题和值映射的数组?
例如:
java - 在 Java 中使用 XPATH 处理分层 XML 文档。效率?
这个问题的变体现在已经在这里被问过好几次了,但我的问题更多是关于在 Java 中使用 XPATH 的一般效率问题。
我的任务:获取有关地理位置的维基百科文章,并从中创建分层数据结构。
我已经获得了 wiki 页面的 XML 版本,并根据直观的模式重新格式化。我还制作了一系列非常简单的类来代表不同级别的行政等级,例如:
以及添加城市的方法、一些 getter 和 setter 方法以及 toString()。
这是我正在处理的 XML 文件类型的示例:
在这一点上,我基本上有一个功能设置,但是代码非常重复,并且没有考虑到地理数据固有的分层性质。理想情况下,我可以停在某个级别(假设“专注”于特定省份),并且从那时起仅以相对的方式引用事物,以最大限度地减少我必须爬过整个文档的次数。举个例子(注意,我使用了对传统 Document 设置的抽象,但下面的方法几乎完全对应于传统方法):
坦率地说,这似乎很愚蠢。我没有考虑到一旦我达到我关心的级别,这些字符串的所有内容都是相同的。我没有引用任何类型的相对路径,每当我遍历文档的一部分时,我实际上是遍历了整个内容。如果我能暂时屏蔽原始 XML 文档的其余部分并只关注我所在的省,并以相对的方式提及此后的所有内容,那就太好了。
我应该特别指出,“读取”抽象背后的成本是多么昂贵:
我本质上是在重新编译一个相同的模式,但结局略有不同?加载感兴趣的部分然后用“currProv/hanzi”之类的东西引用它的孩子怎么样?
我已经研究过解析 XML 的其他方法,并且“Digester”似乎做了类似于我想要http://commons.apache.org/digester/core.html的事情,但我已经在这个 XPATH 中拥有了几乎所有东西执行。
我一直怀疑这个问题的解决方案非常简单......但我不能完全掌握解决方案。无论如何,我感谢您的时间!
java - 替代 .readLine() / readLine 只返回列表
我正在使用读取行从维基百科获取一些文本。但是 read line 只返回列表,而不是我想要的文本。有没有办法使用替代方案或解决我的问题?
python - 读取 XML 文件标签
我想从 xml 文件中读取标签值,例如<title>
, 。成功读取<title_id>
的值。是否可以使用相同的循环<title>
读取<title>
, ?
请帮助我,我是 XML 新手。<title_id>
我正在使用以下代码从文件中读取所有标题。它工作正常。
encoding - 维基转储编码
我正在使用 WikiPrep 处理最新的 wiki 转储 enwiki-20121101-pages-articles.xml.bz2。而不是“使用 Parse::MediaWikiDump;” 我将其替换为“使用 MediaWiki::DumpFile::Compat;” 并对代码进行了适当的更改。然后,我跑了
我有一个错误
我猜转储中包含一些非 utf8 字符。所以我跑了
确实,我遇到了一些错误
所以,我的问题是 wiki 转储的编码格式是什么,如果我想将其转换为 utf-8,我该怎么办?或者应该如何修改 wikiprep.pl 以避免此类问题。
非常感谢
-- [已解决] 我应该先解压文件。
r - R XML:如何检索具有给定值的节点
这是我正在使用的 XML 文件片段:
现在,给定值“AccessibleComputing”,我如何检索 XMLInternalElementNode(对应于“AccessibleComputing”?我尝试使用 getNodeSet 但没有成功。
谢谢。
更新的问题
我应该首先提到整个 sample.xml 文件。就是这样。我面临的问题如下:
我如何获得标题元素值为“AccessibleComputing”的页面节点。我尝试了以下方法:
它回来了
预期输出:
我想我的 XPath 查询不正确 - 一次出现的“siteinfo”节点破坏了我的尝试。有什么建议么。
python - 如何使用 Python 解析一个巨大的 xml 文件(在旅途中)
我有一个巨大的 xml 文件(当前的维基百科转储)。这个大小约为 45 GB 的 xml 代表当前维基百科的全部数据。该文件的前几行是(更多的输出):
...等等
注意树中的页面元素。它对应于 Wikipedia 中的唯一页面。给定的 XML 以页面元素的形式包含 Wikipedia 的所有页面。我需要编写一个解析器,在其中我需要从页面中提取所有维基百科页面的标题条目的值,并假设(为简单起见)打印它们。
我正在尝试使用 Python 构建相同的内容(尽管如果提供解决方案,我愿意切换语言)。我知道的唯一方法是使用ElementTree。
但是,使用函数 parse('file.xml') 需要首先完全解析整个文档,然后输出任何结果。很明显,我知道整个 xml 由页面元素组成。我希望程序在解析 xml 的其余部分时开始打印标题。这还可能吗。如果是这样,怎么做?
编辑注意:我在这里引用了一个提取标题的示例,以使问题保持简单。但是,我确实需要 xml 解析功能,因为我需要在将来提取相同的功能。
python - 解析 MediaWiki wiki 的 XML 转储
我正在尝试解析维基词典的 XML 转储,但可能我遗漏了一些东西,因为我没有得到任何输出。
这是一个类似但更短的 xml 文件:
<title>
如果<ns>
元素等于 0 ,我有兴趣解析元素的内容。
这是我的脚本
mediawiki - wikipedia page to category mapping database
I was looking for a database which can help me in getting a list of all the categories a page belongs to, or all the pages present in a category. It is not there is the page enwiki-latest-page.sql databse and I am trying to avoid using the 42 GB xml dump. Is there some database available online which can help me in this regard?
python - 从 ElementTree findall 返回的空列表
我是 xml 解析和 Python 的新手,所以请耐心等待。我正在使用 lxml 来解析 wiki 转储,但我只想要每个页面、它的标题和文本。
现在我有这个:
目前,titles 没有返回任何内容。我看过以前的答案,例如:ElementTree findall() 返回空列表和 lxml 文档,但大多数事情似乎都是针对解析 HTML 量身定制的。
这是我的 XML 的一部分:
我也试过 iterparse 然后打印它找到的元素的标签:
但它抱怨 e 没有标签属性。
编辑: