0

こんにちは、リンクを含むすべてのコンテンツを取得しようとしていhttp://services.runescape.com/m=news/recruit-a-friend-for-free-membership-and-xpますが、他のものは取得していません。私が現在行ったことは次のとおりです。

import urllib
url = "http://services.runescape.com/m=news/recruit-a-friend-for-free-membership-and-xp"
a = urllib.urlopen(url).read()
b = a.split("<div class=\"Content\">")[1]
c = b.split("</div>")[0]
print c

これは印刷されます:http://pastebin.com/WFXGpvRu

s を削除して(これは望ましくありません)、 ''に変更するreplace()など、いくつかのものを削除するために多くの '' を実行してきました(これは2 つのアポストロフィです)。<p><b>

しかし、私が抱えている問題は疑問符です。アポストロフィがあるはずの場所に疑問符が表示されます。replace()そこには疑問符があり、アポストロフィであってはならないので、単に a を行うことはできません。

私が行ったことすべてを行うためのより簡単な方法はありますか?

4

2 に答える 2

2

これらのアポストロフィは通常の ASCII 引用符ではなく、WINDOWS-1252 の単一引用符です。c はデコードする必要がある "str" (バイナリ文字列) であるため、印刷時に疑問符として表示されます。

最後に次の追加手順を実行します。

d = c.decode("windows-1252")
print d

d は、必要なテキストを含む Unicode オブジェクトになりました。

于 2012-12-19T10:58:44.603 に答える
2

文字列操作を使用して HTML を解析することは、一般的に推奨される考えではありません。HTML の解析に役立つさまざまな Python ライブラリがあります。

BeautifulSoup ( here、簡単なチュートリアルがあります) またはScrapyをご覧ください

于 2012-12-19T11:13:15.283 に答える