Google の appengine API を使用しています
from google.appengine.api import urlfetch
ウェブページを取得します。結果として
result = urlfetch.fetch("http://www.example.com/index.html")
html コンテンツの文字列です (result.content 内)。問題は、解析したいデータが実際には HTML 形式ではないことです。そのため、python HTML パーサーを使用してもうまくいかないと思います。HTML ドキュメントの本文にあるすべてのプレーン テキストを解析する必要があります。唯一の問題は、urlfetch が HTML ドキュメント全体の単一の文字列を返し、すべての改行と余分なスペースが削除されることです。
EDIT: さて、私は別のURLを取得しようとしましたが、どうやらurlfetchは改行を削除しません.HTMLファイルをそのように提供したのは、解析しようとしていた元のWebページでした... 編集終了
ドキュメントが次のような場合:
<html><head></head><body>
AAA 123 888 2008-10-30 ABC
BBB 987 332 2009-01-02 JSE
...
A4A 288 AAA
</body></html>
urlfetch が取得した後、result.content は次のようになります。
'<html><head></head><body>AAA 123 888 2008-10-30 ABCBBB 987 2009-01-02 JSE...A4A 288 AAA</body></html>'
HTML パーサーを使用しても body タグ間のデータは役に立たないので、正規表現を使用してデータを解析するつもりでしたが、ご覧のとおり、1 行の最後の部分が次の行の最初の部分と結合されます。 、そしてそれを分割する方法がわかりません。私は試した
result.content.split('\n')
と
result.content.split('\r')
しかし、結果のリストはすべて 1 つの要素だけでした。Google の urlfetch 関数には、改行を削除しないオプションがありません。
このデータを解析する方法はありますか? 多分私はそれを別の方法で取得する必要がありますか?
前もって感謝します!