-
-
Save salgo60/4ef72e1dff0a90a9902004b3b4d8f607 to your computer and use it in GitHub Desktop.
| from mwclient import Site | |
| from mwtemplates import TemplateEditor | |
| site = Site('sv.wikipedia.org') | |
| site.login('xusername', 'pwd') | |
| # https://sv.wikipedia.org/wiki/Vincent_Lundberg | |
| # https://sv.wikipedia.org/w/api.php?action=query&titles=Vincent_Lundberg&prop=revisions&rvprop=content&format=json | |
| page = site.pages['Vincent Lundberg'] | |
| te = TemplateEditor(page.text()) | |
| for t in te.templates.items(): | |
| if 'SBL' in t: | |
| for x in t[1]: | |
| for y in t[1][0].parameters: | |
| print ("param " , y) | |
| print(x.parameters['namn']) |
Getting all pages with Template:SBL ==> 4973 poster
https://sv.wikipedia.org/w/api.php?action=query&list=search&srsearch=hastemplate:SBL
-->
"batchcomplete": "",
"continue": {
"sroffset": 10,
"continue": "-||"
},
"query": {
"searchinfo": {
"totalhits": 4973
},
"search": [
{
"ns": 0,
"title": "Carl von Linn\u00e9",
"pageid": 330,
"size": 111141,
"wordcount": 12210,
"snippet": "Uppslagsorden "Linn\u00e9" och "Linnaeus" leder hit. F\u00f6r andra betydelser och personer med dessa efternamn, se Linn\u00e9 (olika betydelser) och Linnaeus (olika",
"timestamp": "2020-04-15T20:56:17Z"
},
{
"ns": 0,
"title": "Gunnar Carlquist",
"pageid": 325567,
"size": 4537,
"wordcount": 527,
"snippet": "Nils Vilhelm Gunnar Carlquist, f\u00f6dd 3 februari 1889 i Kn\u00e4storp i Sk\u00e5ne, d\u00f6d 19 november 1963 i Lunds Allhelgonaf\u00f6rsamling, var en svensk historiker och",
"timestamp": "2020-01-09T17:15:53Z"
},
{
"ns": 0,
"title": "August Strindberg",
"pageid": 4989,
"size": 82526,
"wordcount": 8652,
"snippet": "Uppslagsordet \u201dStrindberg\u201d leder hit. F\u00f6r andra personer med samma efternamn, se Strindberg (sl\u00e4kt). Johan August Strindberg, f\u00f6dd 22 januari 1849 i Stockholm",
"timestamp": "2020-04-20T09:49:06Z"
},
{
"ns": 0,
"title": "Gustav Vasa",
"pageid": 664,
"size": 55208,
"wordcount": 5727,
"snippet": "F\u00f6r andra betydelser, se Gustav Vasa (olika betydelser). Gustav Vasa eller Gustav I (tidigare Gustav Eriksson), troligen f\u00f6dd 12 maj 1496, d\u00f6d 29 september",
"timestamp": "2020-04-20T08:48:07Z"
},
{
"ns": 0,
"title": "Gustav III",
"pageid": 649,
"size": 48356,
"wordcount": 5181,
"snippet": "Den h\u00e4r artikeln handlar om den svenske kungen Gustav III. F\u00f6r andra betydelser, se Gustav III (olika betydelser). Gustav III, f\u00f6dd 13 januari (g.s.)/24",
"timestamp": "2020-04-16T10:58:59Z"
},
{
"ns": 0,
"title": "Karl XII",
"pageid": 5588,
"size": 74687,
"wordcount": 9230,
"snippet": "F\u00f6r andra betydelser, se Karl XII (olika betydelser). Karl XII, f\u00f6dd 17 juni 1682 p\u00e5 Slottet Tre Kronor, d\u00f6d 30 november 1718 i Fredrikshald i Norge, var",
"timestamp": "2020-04-20T17:51:03Z"
},
{
"ns": 0,
"title": "Elias Fries",
"pageid": 96750,
"size": 9038,
"wordcount": 901,
"snippet": "Ej att f\u00f6rv\u00e4xla med botanikern Magnus Fries. Elias Magnus Fries, f\u00f6dd den 15 augusti 1794 i Femsj\u00f6, d\u00f6d den 8 februari 1878 i Uppsala, var en svensk botaniker",
"timestamp": "2019-12-21T16:21:38Z"
},
{
"ns": 0,
"title": "Karl XIV Johan",
"pageid": 6202,
"size": 74030,
"wordcount": 8415,
"snippet": "F\u00f6r fartyget, se Carl XIV Johan (fartyg). Karl XIV Johan, f\u00f6dd Jean Bernadotte 26 januari 1763 i Pau, B\u00e9arn, Frankrike, d\u00f6d 8 mars 1844 p\u00e5 Stockholms slott",
"timestamp": "2020-04-18T20:22:57Z"
},
{
"ns": 0,
"title": "Karl IX",
"pageid": 3201,
"size": 33692,
"wordcount": 3823,
"snippet": "Den h\u00e4r artikeln handlar om den svenske kungen Karl\u00a0IX. F\u00f6r den franske kungen med samma namn, se Karl IX av Frankrike. Karl IX, f\u00f6rst k\u00e4nd som Hertig",
"timestamp": "2020-04-20T17:47:38Z"
},
{
"ns": 0,
"title": "Karl XI",
"pageid": 3192,
"size": 54146,
"wordcount": 5712,
"snippet": "Karl XI, f\u00f6dd 24 november 1655, d\u00f6d 5 april 1697, var kung av Sverige fr\u00e5n 1660 till sin d\u00f6d. Han regerade \u00e4ven fr\u00e5n 1681 som hertig Karl I \u00f6ver Pfalz-Zweibr\u00fccken",
"timestamp": "2020-04-12T15:23:48Z"
}
]
}
}
#Test uppdater
from mwclient import Site
from mwtemplates import TemplateEditor
site = Site('sv.wikipedia.org')
site.login('username', 'pwd')
page = site.pages['Vincent Lundberg']
te = TemplateEditor(page.text())
for t in te.templates.items():
if 'SBL' in t:
for x in t[1]:
for y in t[1][0].parameters:
print ("param " , y,type(y))
print(x.parameters['namn'])
print(te.templates['SBL'][0].parameters)
te.templates['SBL'][0].parameters['namn'] = "Nytt namn"
print (te.wikitext())
Output
/usr/local/bin/python3.8 /Users/magnus/Library/Preferences/PyCharmCE2019.2/scratches/scratch_43.py
param 9771 <class 'mwtemplates.templateeditor2.Parameter'>
param D Vincent Lundberg <class 'mwtemplates.templateeditor2.Parameter'>
param Wolfram Kock <class 'mwtemplates.templateeditor2.Parameter'>
param 1982–1984 <class 'mwtemplates.templateeditor2.Parameter'>
D Vincent Lundberg
<Parameters: 1="9771", namn="D Vincent Lundberg", författare="Wolfram Kock", år="1982–1984">
....
....
== Källor ==
*{{SBL|9771|namn=Nytt namn|författare=Wolfram Kock|år=1982–1984}}
*{{runeberg.org|sbh|b0096.html Lundberg, Daniel Vincent}}
....
...
/usr/local/bin/python3.8 /Users/magnus/Library/Preferences/PyCharmCE2019.2/scratches/scratch_43.py
param 9771
param D Vincent Lundberg
param Wolfram Kock
param 1982–1984
D Vincent Lundberg
Process finished with exit code 0