python mechanize自動登入程式

來源:互聯網
上載者:User

放假回來了,很久沒更新部落格了,以後得常更新,今天給大家分享下python第3方的模組包:mechanize。
mechanize是非常合適的類比瀏覽器的模組,它的特點主要有:

1 http,https協議等。
2 簡單的HTML表單填寫。
3 瀏覽器記錄和重載。
4 Referer的HTTP頭的正確添加(可選)。
5 自動遵守robots.txt的。
6 自動處理HTTP-EQUIV和重新整理。

所以你可以用mechanize來完成一些自動化瀏覽器想要做的事情,比如自動登入表單,自動填寫表單等。
首先你在mechanize download頁面裡面下載並且安裝好
然後可以看下文檔:http://wwwsearch.sourceforge.net/mechanize/

下面是我寫的簡單代碼:

#匯入模組##
import mechanize
import cookielib
from BeautifulSoup import BeautifulSoup

br = mechanize.Browser()
cj = cookielib.LWPCookieJar()
br.set_cookiejar(cj)##關聯cookies

###設定一些參數,因為是類比用戶端請求,所以要支援用戶端的一些常用功能,比如gzip,referer等
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)

br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1)

###這個是degbug##你可以看到他中間的執行過程,對你調試代碼有協助
br.set_debug_http(True)
#br.set_debug_redirects(True)
#br.set_debug_responses(True)

br.addheaders = [('User-agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.11) Gecko/20100701 Firefox/3.5.11')]##類比瀏覽器頭
response = br.open('http://xxx..com/')##自己設定一個url

for f in br.forms():##有的頁面有很多表單,你可以通過來查看
print f

br.select_form(nr=1)##選擇表單1,

br.form['username'] = '使用者賬戶'
br.form['password'] = '密碼'

br.submit()##提交表單

print 'success login'

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.