我正在尝试获取所有维基百科标题的列表,无需重定向。
他们说他们有大约 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;
现在,面临的挑战是所有具有多个单词的标题都会自动被视为重定向,因为该数据库删除了页面标题中的所有空格(请参阅数据库示例)
我如何知道哪个页面是实际重定向或只是由于空格被删除而被考虑。
还有其他方法可以做到这一点。作为 wikimedia 项目的贡献者,您将能够在名为 Quarry 的站点中运行 SQL 查询。我不确定它是否可以输出大结果集。但通过 SQL 访问,您确实可以过滤掉重定向。
更新: 至于AccessibleComputing,它实际上是一个重定向,因为您可以访问阻止实际重定向的链接。
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