国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python 模擬登陸的兩種實現方法

2019-11-25 15:56:55
字體:
來源:轉載
供稿:網友

Python 模擬登陸的兩種實現方法

有時候我們的抓取項目時需要登陸到某個網站上,才能看見某些內容的,所以模擬登陸功能就必不可少了,散仙這次寫的文章,主要有2個例子,一個是普通寫法寫的,另外一個是基于面向對象寫的。

模擬登陸的重點,在于找到表單真實的提交地址,然后攜帶cookie,post數據即可,只要登陸成功,我們就可以訪問其他任意網頁,從而獲取網頁內容。

方式一:

import urllib.request import urllib.parse import http.cookiejar #post的內容 values={ 'logon.x':'linke', 'password':'xxxx', 'username':'xxxxx' }  #登陸的地址 logUrl="http://192.168.32.112:8080/templates/index/hrlogon.do"  #構建cook cook=http.cookiejar.CookieJar()  #構建openner openner=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cook))  #添加headers openner.addheaders = [('User-agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36')]  r=openner.open(logUrl,urllib.parse.urlencode(values).encode())  #print(r.read().decode('gbk'))  r=openner.open("http://192.168.132.62:8080/kq/kqself/card/carddata.do?b_query=link")  print(r.read().decode('gbk')) 

方式二:

import urllib import urllib.request import urllib.parse import http.cookiejar import re   class loginRLKQ:   post_data=b"";   def __init__(self):     #初始化類,cook的值     cj=http.cookiejar.CookieJar()     opener=urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))     opener.addheaders=[('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')]     #初始化全局opener     urllib.request.install_opener(opener)    #login方法需要加入post數據   def login(self,loginurl,encode):     #模擬登陸     req=urllib.request.Request(loginurl,self.post_data)     rep=urllib.request.urlopen(req)     d=rep.read()     #print(d)     d=d.decode(encode)     return d   #登陸之后獲取其他網頁方法   def getUrlContent(self,url,encode):     req2=urllib.request.Request(url)     rep2=urllib.request.urlopen(req2)     d2=rep2.read()     d22=d2.decode(encode)     return d22 if __name__=="__main__":     #實例化類     x=loginRLKQ()     #給post數據賦值     x.post_data=urllib.parse.urlencode({'username':"xxdd",'password':'xxdd','logon.x':'linke'}).encode(encoding="gbk")     #登陸     y=x.login("http://192.168.132.61:8080/templates/index/hrlogon.do","gbk")     #獲取網頁信息     print(x.getUrlContent("http://192.124.32.16:8080/kq/kqself/card/carddata.do?b_query=link","gbk")) 

以上就是Python 模擬登陸的實現方法,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梁山县| 曲靖市| 张家口市| 景宁| 广昌县| 荣昌县| 蒙城县| 正宁县| 肥东县| 兴宁市| 大名县| 日喀则市| 汕头市| 汝南县| 东港市| 梁山县| 乐山市| 安福县| 靖州| 布拖县| 韶山市| 大化| 克拉玛依市| 祁东县| 福安市| 潍坊市| 读书| 开封市| 宜兰市| 阳山县| 延边| 泰兴市| 龙州县| 会宁县| 彰化县| 大邑县| 镇康县| 陆川县| 武威市| 柏乡县| 长海县|