8

私は pywikibot-core を使用しており、前に別の Python Mediawiki API ラッパーをWikipedia.py (.HTML メソッドを持つ) として使用していました。もっと多くの機能があると思うので、pywikibot-core に切り替えましたが、同様の方法が見つかりません。(注意:私はあまり熟練していません)。

4

6 に答える 6

1

一般に、wikipedia の代わりに pywikibot を使用する必要があります (たとえば、「import wikipedia」の代わりに「import pywikibot」を使用する必要があります)。wikipedia.py にあったメソッドとクラスを探している場合は、それらが分離され、見つけることができます。 pywikibot フォルダー内 (主に page.py と site.py 内)

compat で作成したスクリプトを実行したい場合は、pywikibot-core にある compat2core.py (scripts フォルダー内) という名前のスクリプトを使用できます。変換に関する詳細なヘルプが README-conversion.txt という名前で用意されているので、注意深く読んでください。

于 2014-12-12T23:34:39.797 に答える
1

IIRC ページ全体の HTML が必要なので、api.php?action=parseを使用するものが必要です。Python では、そのようなことのためにwikitoolsを使用することがよくあります。PWBやその他の要件については知りません。

于 2014-12-12T16:27:56.033 に答える
1

Mediawiki API には、Mediawiki マークアップ パーサーによって返されるウィキ マークアップの HTML スニペットを取得できる解析アクションがあります。

pywikibot ライブラリには、次のように使用できる関数が既に実装されています。

def getHtml(self,pageTitle):
        '''
        get the HTML code for the given page Title
        
        Args:
            pageTitle(str): the title of the page to retrieve
            
        Returns:
            str: the rendered HTML code for the page
        '''
        page=self.getPage(pageTitle)
        html=page._get_parsed_page()
        return html

mwclient Python ライブラリを使用する場合、一般的な API メソッドがあり ます。https ://github.com/mwclient/mwclient/blob/master/mwclient/client.py を参照してください。

次のような html コードを取得するために使用できます。

def getHtml(self,pageTitle):
        '''
        get the HTML code for the given page Title
        
        Args:
            pageTitle(str): the title of the page to retrieve
        '''
        api=self.getSite().api("parse",page=pageTitle)
        if not "parse" in api:
            raise Exception("could not retrieve html for page %s" % pageTitle)
        html=api["parse"]["text"]["*"]
        return html   

上記のように、これにより、私がコミッターであるpy-3rdparty-mediawikiライブラリに実装されているダック タイプのインターフェイスが提供されます。これは問題 38 を閉じることで解決されました- HTML ページの取得を追加します

于 2020-12-27T11:14:05.577 に答える
1

「[saveHTML.py] は記事と画像の HTML ページをダウンロードし、興味深い部分、つまり記事のテキストとフッターをファイルに保存します」

ソース: https://git.wikimedia.org/blob/pywikibot%2Fcompat.git/HEAD/saveHTML.py

于 2014-12-12T12:04:22.383 に答える