Python网页抓取、模拟登录
生活随笔
收集整理的這篇文章主要介紹了
Python网页抓取、模拟登录
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
From:?http://www.cnblogs.com/bboy/archive/2010/10/29/1864537.html
用python抓取網(wǎng)頁(yè)是非常簡(jiǎn)單的事,簡(jiǎn)單的幾行代碼就可以解決。。。這里稍微記錄一下
?
需要引用的包有主要是 urllib2,urllib也可以引入,具體 看代碼
?
#?Name:????????模擬登錄web
#?Purpose:
#
#?Author:??????huwei
#
#?Created:?????26/10/2010
#?Copyright:???(c)?huwei?2010
#?Licence:?????<your?licence>
#-------------------------------------------------------------------------------
#!/usr/bin/env?python
import?time,urllib2,urllib
def?main():
????
????#登錄博客園
????loginCNblogs()
????pass
#登錄博客園
def?loginCNblogs():
????try:
????????#設(shè)置?cookie
????????cookies?=?urllib2.HTTPCookieProcessor()
????????opener?=?urllib2.build_opener(cookies)
????????urllib2.install_opener(opener)
????????parms?=?{"tbUserName":"用戶名","tbPassword":"密碼","__EVENTTARGET":"btnLogin","__EVENTARGUMENT":"",
????????"__VIEWSTATE":"/wEPDwULLTExMDE0MzIzNDRkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBQtjaGtSZW1lbWJlcmcJekJlt5rFwfnjeMMnX9V58Xhg",
????????"__EVENTVALIDATION":"/wEWBQKit6iCDALyj/OQAgK3jsrkBALR55GJDgKC3IeGDK6TQlRlirS2Zja1Lmeh02u4XMwV",
????????"txtReturnUrl":"http://bboy.cnblogs.com"}
????????loginUrl?=?"http://passport.cnblogs.com/login.aspx"
????????login?=?urllib2.urlopen(loginUrl,urllib.urlencode(parms))
????????
????????
????????#print(unicode(login.read(),"utf8"))
????????#顯示配置頁(yè)面
????????avatar?=?urllib2.urlopen("http://home.cnblogs.com/set/avatar/")
????????#print(avatar.read().decode("utf8"))
????except?Exception,e:
????????print(e)
????pass
if?__name__?==?'__main__':
????main()
?
?
獲取 網(wǎng)頁(yè)很簡(jiǎn)單 直接 urllib2.urlopen(url).read() 就可以得到網(wǎng)頁(yè)源碼
這里是抓取登錄后的頁(yè)面,所有開頭需要設(shè)置cookie
cookies?=?urllib2.HTTPCookieProcessor()opener?=?urllib2.build_opener(cookies)
urllib2.install_opener(opener)
?
設(shè)置完 cookie以后 再使用 urllib2.urlopen()方法就可以帶上你登錄成功的cookie了
總結(jié)
以上是生活随笔為你收集整理的Python网页抓取、模拟登录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: server 2008R2 AD域环境中
- 下一篇: vim 编译 Python 代码提示配置