2013-03-14 63 views
0

這是使用機械化我第一次和我試圖填寫表格與機械化提交與機械化HTTP錯誤形式500

這裏是我的瀏覽器選項:

br.set_handle_equiv(True) 
br.set_handle_gzip(True) 
br.set_handle_redirect(True) 
br.set_handle_referer(True) 
br.set_handle_robots(False) 


cj = cookielib.LWPCookieJar() 
br.set_cookiejar(cj) 


br.addheaders = br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en- US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] 

我填寫具有有效值的表單,並命中br.submit(),但它給了我HTTP:錯誤500:內部服務器錯誤。我假設它檢測到它是一個機器人或者是一些觸及提交的東西?但我想這就是那些插頭想要照顧的。

+0

你的代碼部分工作正常。檢查來自提交的內容實際上是否在網頁上工作,或者您填寫的信息是否正確,並且不需要任何其他格式。 Mb你可以給你一個運行你的腳本的網頁?另外,爲什麼你有兩個'br.addheaders = br.addheaders ='和'en- US'之間的空格? – ton1c 2013-03-14 23:20:30

+0

糟糕的是這部分是一個錯字。我試圖爲雅虎註冊頁面(https://edit.yahoo.com/registration?.src=fpctx&.intl=us&.done=http%3A%2F%2Fwww.yahoo.com%2F)這樣做我可以進入Captcha頁面並分析圖像,而無需手動填寫註冊。我試圖在真正的瀏覽器上做到這一點,它的工作原理讓我知道我填寫的值正在工作。但是當我在真正的瀏覽器中登錄真正的雅虎註冊頁面時,它給了我這個錯誤:抱歉,此時無法處理請求 - 錯誤999. – Kevin 2013-03-14 23:36:20

+0

您能否顯示如何提交任何下拉選項(例如性別)? – ton1c 2013-03-14 23:42:52

回答

1

您可以使用http://grablib.org/docs/,它更容易,更高效。嘗試一下。 在Linux上安裝:

PIP安裝pycurl LXML

PIP安裝搶

from grab import Grab 

g = Grab() 
g.go('http://google.com') # go to google.com 
g.choose_form(0) #form number 
g.set_input('q', 'test') # 'q'-input name, 'test' - search query 
g.submit() # send request 
print g.xpath_list('//a/text()') # view xpath result link list 

對不起,我的英語水平。