1

私はここここで私の問題に関する情報を探しましたが、運がありませんでした.

Safari の Web Inspector のように、Web ページのソースを取得するための Python コードをいくつか作成しました。ただし、アプリケーションと Safari の Web インスペクターから異なるコードを取得しています。これまでの私のコードは次のとおりです。

#!/usr/bin/python

import urllib2

# headers

hdr = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_3) AppleWebKit/536.28.10 (KHTML, like Gecko) Version/6.0.3 Safari/536.28.10',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
    'Cache-Control': 'max-age=0'}

# request data

req = urllib2.Request("https://www.google.com/#q=rainbow&safe=active", headers=hdr)

# try to get data
try:
    page = urllib2.urlopen(req)
    print page.info()
except urllib2.HTTPError, e:
    print e.fp.read()


content = page.read()

#print content

print content 

また、ヘッダーは Web インスペクターの内容と一致します。

Web インスペクター


ただし、"rainbow" の Google 検索の場合、返されるコードは異なります。

私のパイソン:

http://paste.ubuntu.com/6270549/

ウェブ検査官:

http://paste.ubuntu.com/6270606/

}catch(e){gbar_._DumpException(e)}私の知る限り、私のコードには、Web Inspector コードに存在するユビキタスな行の多くが欠けているようです。また、私のコードは 78 行しかありませんが、Web Inspector コードは 235 行あります。これは、コードがすべての JavaScript または Web ページの他の部分を取得していないということですか? コードで Web インスペクターと同じデータを取得するにはどうすればよいですか?

4

1 に答える 1

1

Google 検索での検索に間違ったリンクを使用しています。正しいリンクは次のとおりです。

https://www.google.com/search?q=rainbow&safe=active

それ以外の:

https://www.google.com/#q=rainbow&safe=active

2 番目のリンクは、Python で使用すると Google のホームページにリダイレクトされます。これは、Safari で使用しないと (何らかの理由で) 正しくないためです。これがコードが異なる理由です。

于 2013-10-20T15:20:32.550 に答える