我正在学习使用Wiki API获取用户的公共信息。我在MediaWiki API演示中找到了脚本"get_users.py",它可以帮助我们获得一般信息,如编辑计数或电子邮件地址。但是,用户页面上的个人描述不能通过这种方式获取
(下面是一个示例。我想获得类似“我在英文维基百科上通常不活跃。请参考…”
我发现"API: Get the contents of a page" 提供了一个实现这一目标的选项。因为我对PHP一无所知,我想问一下,有没有什么方法可以使用Python中的API获取这些文本内容
非常感谢您提前抽出时间
更新:
我正在尝试搜索用户列表的用户信息,如下所示: 如果我想搜索他们的个人陈述,我们有没有办法一次执行他们,而不是一个接一个地循环然后输入到脚本中?(来自演示:get_pages_revisions.py)
(假设我们要查找Catrope和Bob的信息,通过修改PARAMS
的以下实现无法正常工作:
PARAMS = {
"action": "query",
"prop": "revisions",
"titles": "User:Catrope|Bob",
"rvprop": "timestamp|user|comment|content",
"rvslots": "main",
"formatversion": "2",
"format": "json"
}
)
您不必了解PHP就可以使用来自
API: Get the contents of a page
的信息。只有扩展名为.php
的URL—仅此而已—您可以将这些URL与任何语言(例如python)一起使用。即使是get_users.py
中的代码也使用扩展名为.php
的URL,并且它不为此使用PHP
代码只需添加
&format=json
即可将数据作为JSON
而不是HTML
获取我不知道您需要哪个URL来获取数据,但您可以将其用作字符串
或者,您可以像在
get_users.py
中那样将参数作为字典编写,这样对用户来说更可读,并且更容易更改参数因为
'prop': 'text'
返回HTML
,所以需要lxml
或BeautifulSoup
在HTML
中搜索信息。对于'prop': 'wikitext'
来说,它给出的文本没有HTML标记,并且使用split('\n')[0]
更容易获得第一行编辑:它没有在一个请求中获取所有页面的方法。必须将
for
-loop与'page': 'USER:{}'.format(name)
一起使用编辑:对于}您必须使用完整的标题
query
{但不是标题给出结果,所以您必须检查数据中是否有
revisions
相关问题 更多 >
编程相关推荐