0

特定のWebページからプログラムでデータを取得するのに問題があります。

http://www.uschess.org/msa/thin2.phpを使用すると、名前と州で米国チェスの評価を検索できます。

POSTリクエストを送信すると、 http: //www.uschess.org/msa/thin2.php?memln = nakamura&memfn = hikaruに相当するものにアクセスできますが、有用なデータを取得するには[検索]ボタンをクリックする必要があります。その結果ページにアクセスするための最良の方法は何ですか?

import urllib.request
import urllib.parse
data = {'memfn':'hikaru', 'memln':'nakamura'}
url = r'http://www.uschess.org/msa/thin2.php'
s = urllib.parse.urlopen(url, bytes(urllib.parse.urlencode(data),'UTF-8'))
s.read()

ありがとう!

4

1 に答える 1

2

これは機能します:

#!/usr/bin/env python
import urllib

data = {'memfn':'hikaru', 'memln':'nakamura', 'mode':'Search'}
url = r'http://www.uschess.org/msa/thin2.php'
s = urllib.urlopen(url, bytes(urllib.urlencode(data)))
print s.read()

基本的に、ボタンの押下を模倣するには、mode値を含む非表示のパラメーターを送信する必要があります。Search

注:Python 2.x用に書き直しました。申し訳ありませんが、python3が手元にありませんでした。

于 2012-12-27T23:08:48.540 に答える