Как разобрать содержимое страницы обсуждения Википедии по авторам? - PullRequest
0 голосов
/ 04 марта 2020

Я хочу проанализировать страницу обсуждения Википедии (например, https://en.wikipedia.org/wiki/Talk: Elon_Musk ). Я хотел бы просмотреть тексты авторов / редакторов. Не уверен, как мне это сделать. На данный момент у меня есть следующий код:

import pywikibot as pw
wikiPage="elon_musk"
page = pw.Page(pw.Site('en'), wikiPage)
talkpage = page.toggleTalkPage()
s=talkpage.text 
cs=talkpage.contributors()

Кажется довольно трудным разобрать текст (т.е. s) и найти текст доклада, сделанный каждым участником. Не уверен, где беседа начинается и заканчивается для участника, и что такое текст беседы в ответ на текст беседы, сделанный другими. Есть ли способ, что страница обсуждения возвращает сегменты, через которые я могу пройти l oop?

Большое спасибо за вашу помощь!

1 Ответ

1 голос
/ 09 марта 2020

Я не знаю про pywikibot, но вы можете сделать это через обычный API. Это приведет к получению изменений: https://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Talk: Elon% 20Musk & rvlimit = 500 & rvprop = timestamp | user | comment | идентификаторы

Затем вы можете передать идентификаторы изменений, чтобы получать изменения в каждом редактировании: например, https://en.wikipedia.org/w/api.php?action=compare&fromrev=944235185&torev=944237256

...