首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何列出从特定IP地址到维基百科的所有匿名编辑(如此IP-public)?

如何列出从特定IP地址到维基百科的所有匿名编辑(如此IP-public)?
EN

Stack Overflow用户
提问于 2021-03-25 09:49:26
回答 2查看 355关注 0票数 2

假设我有一个IP地址,例如匈牙利议会的IP地址193.224.28.151

如何获得使用此IP地址进行的所有Wikipeida编辑的列表?

汤姆·斯科特的网页上,我读到:

事实是:维基百科存储匿名用户的IP地址。 另一个事实是:来自议会大厦的所有网络流量都是通过两个代理服务器之一发送的--这意味着议会内部对维基百科的每一次匿名编辑都归因于两个IP地址中的一个。 我相信你能看出这是怎么回事。

我还没有找到这个项目的存储库。如果可以在浏览器内或使用Python来完成,那就太好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-30 19:52:37

您可以使用“特殊:贡献”页面查看维基百科帐户、IP地址或IP范围的贡献。例如,https://en.wikipedia.org/wiki/Special:Contributions/193.224.28.151列出了193.224.28.151的编辑。您还可以查看IP范围的编辑,如https://en.wikipedia.org/wiki/Special:Contributions/193.224.28.0/22

如果您希望通过维基百科的API查看维基百科帐户和个人IP地址的贡献,可以在https://www.mediawiki.org/wiki/API:Usercontribs查阅文档和示例。

票数 3
EN

Stack Overflow用户

发布于 2021-04-01 09:51:54

使用Pywikibot,您可以使用MediaWiki API,如下所示:

代码语言:javascript
复制
import pywikibot
site = pywikibot('Wikipedia:en')
user = pyikibot.User(site, '193.224.28.2')

User是从pywikibot.Page派生的类,它表示用户,并且有一个检索他的contibutions的方法。该方法是contributions(),它是一个生成器,它生成pywikibot.Page (一个可用于进一步信息的页面对象)、revid (修订id)、pywikibot.Timestamp (从日期时间派生的对象)、注释(编辑摘要)。要获得您可能使用的最后5个编辑:

代码语言:javascript
复制
contribs = list(user.contributions(total=5))

它检索的条目如下:

代码语言:javascript
复制
(Page('History of Croatia'), 282343057, Timestamp(2009, 4, 7, 14, 10, 7), '')

要获得一个范围的ips,您可以使用相应的站点方法usercontibs(),但是您必须自己上传内容:

代码语言:javascript
复制
list(site.usercontribs(userprefix='193.224.28.', total=5))

对于每一个条目,您都会得到这样的一条数据:

代码语言:javascript
复制
{'comment': '',
 'ns': 0,
 'pageid': 5574,
 'parentid': 281875336,
 'revid': 282343057,
 'timestamp': '2009-04-07T14:10:07Z',
 'title': 'History of Croatia',
 'user': '193.224.28.2',
 'userid': 0}

Site.usercontribs()方法还有额外的参数,这些参数对于Page.contributions()是可用的。它们可以用于过滤结果,例如,对于特定的命名空间,或者只检索页面的最顶层编辑。文档可以找到这里

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66796872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档