2012-02-02 29 views
0

我抓住數據從一個頁面,填寫表單字段如下:Python網絡拼搶,不能「點擊」下一頁

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"> 

我怎麼可能做到這一點不動,用機械化(我以前沒有用過);這可能嗎?

很多謝謝

+0

你需要知道什麼字段告訴它進入下一頁並將其添加到參數中 - 可能是「下一個」或某種「startAt」值。 – 2012-02-02 22:14:42

+0

單擊下一個按鈕後,觀察網址更改。如果可能,請給我們提供工作網址,以便我們觀察它。 – RanRag 2012-02-02 22:21:07

+0

單擊下一個按鈕後URL不會更改。 – 2012-02-02 22:56:40

回答

0

查找表單元素操作屬性。如果沒有,那麼它將使用相同的URL。我會在某處填寫表單數據的頁碼值,你需要使用。

+0

我可以在下一個按鈕下找到唯一的頁碼值:   Page:1 of 4 但是,將「iPage」:'2'添加到我的值字典中不會加載結果的第二頁... – 2012-02-02 22:57:27

+0

是使用POST的表單嗎? – 2012-02-08 11:18:00

+0

網址可能不會在瀏覽器地址欄中更改...但是您可以看到使用firefox篡改數據(第一選擇)和firefox live http標頭獲取了哪些網址...以查看屏幕背後的活動...這會告訴你需要提供哪些參數才能進入第2頁或更多頁面。如果你發佈的URL我可以嘗試。 – ihightower 2012-09-17 16:25:18