0

ご挨拶、

私はやった:

import urllib

site = urllib.urlopen('http://www.weather.com/weather/today/Temple+TX+76504')
site_data = site.read()
site.close()

ただし、Firefox に読み込まれたときにソースを表示する場合とは比較になりません。

ユーザーエージェントを疑い、これを行いました:

class AppURLopener(urllib.FancyURLopener):
    version = "Mozilla/5.0 (X11; U; Linux i686; zh-CN; rv:1.9.2.8) Gecko/20100722 Ubuntu/10.04 (lucid) Firefox/3.6.8"

urllib._urlopener = AppURLopener()

ダウンロードしましたが、それでもウェブサイト全体をダウンロードするわけではありません。

それが原因である可能性が高い場合、誰かがユーザーエージェントの切り替えを手伝ってくれますか?

ありがとう、ナルニー

4

2 に答える 2

3

iframeコードに があるか、javascript が DOM を変更している可能性が高くなります。iframe がある場合は、ページを解析して iframe の URL を取得するか、1 回限りの場合は手動で行う必要があります。JavaScript なら selenium-rc が良いと聞きますが、実際に使った経験はありません。

于 2010-08-11T23:07:51.197 に答える
2

<base href="http://www.weather.com/today/">ローカルに表示されるダウンロードされたページは、相対リンク (ページ ヘッド要素などに追加することで修正可能) や機能しない ajax リクエスト (同一生成元ポリシーを回避する方法を参照)など、いくつかの理由で異なって見える場合があります。

于 2010-08-11T23:53:08.513 に答える