所有维基百科文章的标题,无需重定向

问题描述 投票:0回答:2

我正在尝试获取所有维基百科标题的列表,无需重定向。

他们说他们有大约 6,410k 篇文章。我尝试获取一个列表 https://dumps.wikimedia.org/enwiki/latest/ 和文件 enwiki-latest-all-titles-in-ns0.gz。但这已经超过1600万了。所以它包括带有重定向的标题

根据答案的建议,我尝试使用采石场。我从数据库 enwiki_p 运行了这个简单的查询:

select page_title from page where page_is_redirect = 0;

现在,面临的挑战是所有具有多个单词的标题都会自动被视为重定向,因为该数据库删除了页面标题中的所有空格(请参阅数据库示例)

我如何知道哪个页面是实际重定向或只是由于空格被删除而被考虑。

mediawiki wikipedia mediawiki-api
2个回答
1
投票

还有其他方法可以做到这一点。作为 wikimedia 项目的贡献者,您将能够在名为 Quarry 的站点中运行 SQL 查询。我不确定它是否可以输出大结果集。但通过 SQL 访问,您确实可以过滤掉重定向。

更新: 至于AccessibleComputing,它实际上是一个重定向,因为您可以访问阻止实际重定向的链接。


0
投票

Quarry 对我来说花了太长时间,我不确定它是否会完成以及结果是否可下载。

我设法通过下载转储来做到这一点

enwiki-latest-page.sql
但是,可以从转储列表中找到:https://dumps.wikimedia.org/enwiki/latest/,将其导入本地MariaDB ,然后对其运行一个简单的查询:

sudo mariadb enwiki -B -N -e 'select page_title from page where page_namespace = 0 and page_is_redirect = 0 order by page_title' > titles.txt

我已在以下位置提供了更多详细信息:https://stackoverflow.com/a/77248954/895245

© www.soinside.com 2019 - 2024. All rights reserved.