import pywikibot
site = pywikibot.Site('test', 'wikipedia')
site
APISite("test", "wikipedia")
page = pywikibot.Page(site, 'test')
pageexists()
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-5-e0bfe3f1258c> in <module>
----> 1 pageexists()

NameError: name 'pageexists' is not defined
page.exists()
True
page.text
'Hello world\nhej det er mig'
page.save()
Page [[Test]] saved
page.text()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-73c1e8a32e57> in <module>
----> 1 page.text()

TypeError: 'str' object is not callable
page.text
'Hello world\nhej det er mig'
help(page.save)
Help on method save in module pywikibot.page:

save(...) method of pywikibot.page.Page instance
    Save the current contents of page's text to the wiki.
    
    @param summary: The edit summary for the modification (optional, but
        most wikis strongly encourage its use)
    @type summary: str
    @param watch: Specify how the watchlist is affected by this edit, set
        to one of "watch", "unwatch", "preferences", "nochange":
        * watch: add the page to the watchlist
        * unwatch: remove the page from the watchlist
        * preferences: use the preference settings (Default)
        * nochange: don't change the watchlist
        If None (default), follow bot account's default settings
    
        For backward compatibility watch parameter may also be boolean:
        if True, add or if False, remove this Page to/from bot
        user's watchlist.
    @type watch: str, bool (deprecated) or None
    @param minor: if True, mark this edit as minor
    @type minor: bool
    @param botflag: if True, mark this edit as made by a bot (default:
        True if user has bot status, False if not)
    @param force: if True, ignore botMayEdit() setting
    @type force: bool
    @param asynchronous: if True, launch a separate thread to save
        asynchronously
    @param callback: a callable object that will be called after the
        page put operation. This object must take two arguments: (1) a
        Page object, and (2) an exception instance, which will be None
        if the page was saved successfully. The callback is intended for
        use by bots that need to keep track of which saves were
        successful.
    @param apply_cosmetic_changes: Overwrites the cosmetic_changes
        configuration value to this value unless it's None.
    @type apply_cosmetic_changes: bool or None
    @param quiet: enable/disable successful save operation message;
        defaults to False.
        In asynchronous mode, if True, it is up to the calling bot to
        manage the output e.g. via callback.
    @type quiet: bool

from mwclient import Site
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
<ipython-input-12-93f3ade3915a> in <module>
----> 1 from mwclient import Site

ModuleNotFoundError: No module named 'mwclient'
from mwclient import Site
site = Site('test.wikipedia.org')
users = [rev['user'] for rev in page.revisions()]
unique_users = set(users)
user_revisions = [{'user': user, 'count': users.count(user)} for user in unique_users]
sorted(user_revisions, key=lambda x: x['count'], reverse=True)[:5]
[{'user': '142.197.245.136', 'count': 25},
 {'user': 'Abelmoschus Esculentus', 'count': 24},
 {'user': 'Petrb', 'count': 17},
 {'user': 'Omar Ghrida', 'count': 16},
 {'user': '62.135.211.53', 'count': 7}]
page = site.pages['Greater guinea pig']
page.exists()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-19-93899efda95d> in <module>
----> 1 page.exists()

TypeError: 'bool' object is not callable
text = page.text()
page.text()
'dummy content\n\na'
page.exists
True
site = Site('de.wikipedia.org')
page = site.pages['Julius Schuster (Jurist)']
text = page.text()
page.text()
'\'\'\'Julius Schuster\'\'\' (* [[9. Juni]] [[1921]] in [[Wiener Neustadt]]; † [[1995]] in [[Wien]]) war ein [[Österreich|österreichischer]] [[Jurist]]. Er war österreichischer Statthalter des [[Ritterorden vom Heiligen Grab zu Jerusalem|Ritterordens vom Heiligen Grab zu Jerusalem]]. \n\n== Leben ==\nJulius Schuster war promovierter Rechtsanwalt in Wien und wurde in der Erzabteikirche St. Peter in Salzburg am 26./27. April 1958 in den [[Ritterorden vom Heiligen Grab zu Jerusalem]] investiert. Er war Statthalter der österreichischen Provinz von 1967 bis 1990, unterstützt durch die Großpriore [[Jakob Weinbacher]], Weihbischof in Wien, und ab 1983 Abtprimas [[Gebhard Koberger]]. Schuster gründete die Komtureien Innsbruck und Bregenz.<ref> {{Webarchiv|text=Edwin Gräupl |url=http://www.graeupl.net/Chronik/Chronik.html |wayback=20110722193152 |archiv-bot=2018-04-18 04:23:42 InternetArchiveBot }} Listung der Statthalter des Ritterordens vom Heiligen Grabe zu Jerusalem in Österreich </ref>\nEr war zusammen mit [[Kurt Stögerer]] und Franz Eckert sowie des [[Erzbistum Wien|Erzbistums Wien]] Initiator der Rückgewinnung des [[Österreichisches Hospiz zur Heiligen Familie|Österreichischen Hospiz zur Heiligen Familie]], einer 1857 gegründeten [[Pilgerherberge]] der [[römisch-katholische Kirche|katholischen Kirche]] Österreichs in der [[Via Dolorosa]] in der [[Jerusalemer Altstadt|Altstadt]] [[Jerusalem]]s.<ref name="scribd">[http://www.scribd.com/doc/67857576/Der-Ritterorden-vom-Heiligen-Grab-zu-Jerusalem-in-Osterreich Edwin Gräupl] Geschichte des Ritterordens vom Heiligen Grab in Österreich (seit 1880)</ref> Er wurde zum [[Ritterorden vom Heiligen Grab zu Jerusalem|Kollar-Ritter]] ernannt und war Ehrenstatthalter und Mitglied im Großmagisterium der römischen Ordensleitung.<ref name="scribd" /> Schuster wurde am [[Pötzleinsdorfer Friedhof]] (Gruppe GR, Nummer 9) bestattet.\n\n== Einzelnachweise ==\n<references />\n\n{{Personenleiste\n| AMT        = [[Datei:Croix de l Ordre du Saint-Sepulcre.svg|20px]] [[Ritterorden vom Heiligen Grab zu Jerusalem|Statthalter für Österreich des Ritterordens vom Heiligen Grab zu Jerusalem]]\n| ZEIT       = 1967–1990\n| VORGÄNGER  = [[Konrad Königswieser]]\n| NACHFOLGER = [[Kurt Stögerer]]\n}}\n\n{{SORTIERUNG:Schuster, Julius}}\n[[Kategorie:Statthalter (Ritterorden vom Heiligen Grab zu Jerusalem)]]\n[[Kategorie:Kollarritter (Ritterorden vom Heiligen Grab zu Jerusalem)]]\n[[Kategorie:Rechtsanwalt (Österreich)]]\n[[Kategorie:Person (Wien)]]\n[[Kategorie:Österreicher]]\n[[Kategorie:Geboren 1921]]\n[[Kategorie:Gestorben 1995]]\n[[Kategorie:Mann]]\n\n{{Personendaten\n|NAME=Schuster, Julius\n|ALTERNATIVNAMEN=\n|KURZBESCHREIBUNG=österreichischer Jurist, Statthalter des Ritterorden vom Heiligen Grab zu Jerusalem in Österreich\n|GEBURTSDATUM=9. Juni 1921\n|GEBURTSORT=[[Wiener Neustadt]]\n|STERBEDATUM=1995\n|STERBEORT=[[Wien]]\n}}'
page.revisions()
<List object 'revisions' for <Site object 'de.wikipedia.org/w/'>>
users = [rev['user'] for rev in page.revisions()]
unique_users = set(users)
user_revisions = [{'user': user, 'count': users.count(user)} for user in unique_users]
sorted(user_revisions, key=lambda x: x['count'], reverse=True)[:5]
[{'user': 'Docmo', 'count': 3},
 {'user': 'MAY', 'count': 2},
 {'user': '93.82.10.214', 'count': 2},
 {'user': 'Aka', 'count': 1},
 {'user': 'InternetArchiveBot', 'count': 1}]
text()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-30-07be4e2d1c64> in <module>
----> 1 text()

TypeError: 'str' object is not callable
page.exists
True
page.text()
'\'\'\'Julius Schuster\'\'\' (* [[9. Juni]] [[1921]] in [[Wiener Neustadt]]; † [[1995]] in [[Wien]]) war ein [[Österreich|österreichischer]] [[Jurist]]. Er war österreichischer Statthalter des [[Ritterorden vom Heiligen Grab zu Jerusalem|Ritterordens vom Heiligen Grab zu Jerusalem]]. \n\n== Leben ==\nJulius Schuster war promovierter Rechtsanwalt in Wien und wurde in der Erzabteikirche St. Peter in Salzburg am 26./27. April 1958 in den [[Ritterorden vom Heiligen Grab zu Jerusalem]] investiert. Er war Statthalter der österreichischen Provinz von 1967 bis 1990, unterstützt durch die Großpriore [[Jakob Weinbacher]], Weihbischof in Wien, und ab 1983 Abtprimas [[Gebhard Koberger]]. Schuster gründete die Komtureien Innsbruck und Bregenz.<ref> {{Webarchiv|text=Edwin Gräupl |url=http://www.graeupl.net/Chronik/Chronik.html |wayback=20110722193152 |archiv-bot=2018-04-18 04:23:42 InternetArchiveBot }} Listung der Statthalter des Ritterordens vom Heiligen Grabe zu Jerusalem in Österreich </ref>\nEr war zusammen mit [[Kurt Stögerer]] und Franz Eckert sowie des [[Erzbistum Wien|Erzbistums Wien]] Initiator der Rückgewinnung des [[Österreichisches Hospiz zur Heiligen Familie|Österreichischen Hospiz zur Heiligen Familie]], einer 1857 gegründeten [[Pilgerherberge]] der [[römisch-katholische Kirche|katholischen Kirche]] Österreichs in der [[Via Dolorosa]] in der [[Jerusalemer Altstadt|Altstadt]] [[Jerusalem]]s.<ref name="scribd">[http://www.scribd.com/doc/67857576/Der-Ritterorden-vom-Heiligen-Grab-zu-Jerusalem-in-Osterreich Edwin Gräupl] Geschichte des Ritterordens vom Heiligen Grab in Österreich (seit 1880)</ref> Er wurde zum [[Ritterorden vom Heiligen Grab zu Jerusalem|Kollar-Ritter]] ernannt und war Ehrenstatthalter und Mitglied im Großmagisterium der römischen Ordensleitung.<ref name="scribd" /> Schuster wurde am [[Pötzleinsdorfer Friedhof]] (Gruppe GR, Nummer 9) bestattet.\n\n== Einzelnachweise ==\n<references />\n\n{{Personenleiste\n| AMT        = [[Datei:Croix de l Ordre du Saint-Sepulcre.svg|20px]] [[Ritterorden vom Heiligen Grab zu Jerusalem|Statthalter für Österreich des Ritterordens vom Heiligen Grab zu Jerusalem]]\n| ZEIT       = 1967–1990\n| VORGÄNGER  = [[Konrad Königswieser]]\n| NACHFOLGER = [[Kurt Stögerer]]\n}}\n\n{{SORTIERUNG:Schuster, Julius}}\n[[Kategorie:Statthalter (Ritterorden vom Heiligen Grab zu Jerusalem)]]\n[[Kategorie:Kollarritter (Ritterorden vom Heiligen Grab zu Jerusalem)]]\n[[Kategorie:Rechtsanwalt (Österreich)]]\n[[Kategorie:Person (Wien)]]\n[[Kategorie:Österreicher]]\n[[Kategorie:Geboren 1921]]\n[[Kategorie:Gestorben 1995]]\n[[Kategorie:Mann]]\n\n{{Personendaten\n|NAME=Schuster, Julius\n|ALTERNATIVNAMEN=\n|KURZBESCHREIBUNG=österreichischer Jurist, Statthalter des Ritterorden vom Heiligen Grab zu Jerusalem in Österreich\n|GEBURTSDATUM=9. Juni 1921\n|GEBURTSORT=[[Wiener Neustadt]]\n|STERBEDATUM=1995\n|STERBEORT=[[Wien]]\n}}'