2012-02-02 6 views
0

次のページを「クリック」することはできません。そして、スープから自分のデータを抽出のPythonのWebスクレイピング、私は次のようにフォームフィールドに記入、ページからデータをつかんだ

url = 'http://www.theurl.co.uk/Enquiry.asp' 

values = {'PageSize' : '20', 'SortField' : '1', 'SortOrder' : 'ASC'} 

data = urllib.urlencode(values)   
req = urllib2.Request(url, data) 
source = urllib2.urlopen(req) 

soup = BeautifulSoup(source) 

を。私の問題は、私は、次の20件の結果に移動する必要があり、次ページボタンをソースに以下の行で制御されていることである。

<input type="submit" name="Action" value=" > " style="font-family: Verdana; font-size: 8pt; color: #000080; font-weight: bold"> 

どのように私はおそらく機械化の使用に移動せずにこれを行うことができます(これはI以前は使われていなかった);これは可能ですか?

ありがとうございました

+0

次のページに移動し、パラメータに追加するフィールドを見つけ出す必要があります。おそらく、「次の」または何らかの「startAt」値のいずれかです。 –

+0

次のボタンをクリックした後にURLの変更を観察してください。可能であれば、私たちがそれを観察できるように作業URLをお知らせください。 – RanRag

+0

次のボタンをクリックしてもURLは変更されません。 –

答えて

0

フォーム要素のアクション属性を探します。存在しない場合は、同じURLを使用します。私はあなたが使用する必要があるフォームデータのどこかにページ番号の値を賭けるでしょう。

+0

  Page:1 of 4 「iPage」を値の辞書に追加すると、結果の2番目のページがロードされません。 –

+0

POSTを使用しているフォームはありますか? –

+0

ブラウザのアドレスバーでURLが変更されないことがあります...ただし、Firefoxの改ざんデータ(最初の選択肢)を使用して取得しているURLと、FirefoxのライブHTTPヘッダー... ...これは2ページ以上になるために必要なパラメータを教えてくれるでしょう。 URLを投稿すると、私は試してみることができます。 – ihightower

関連する問題