一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python 模擬登陸的兩種實現方法

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

2020-12-01 00:26qindongliang1922 Python

這篇文章主要介紹了Python 模擬登陸的兩種實現方法的相關資料,這里提供兩種方法一個是普通寫法寫的,另外一個是基于面向對象寫的,模擬登錄成功后才可能抓取內容,需要的朋友可以參考下

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

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

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

方式一:

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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'))

方式二:

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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 模擬登陸的實現方法,如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

原文鏈接:http://qindongliang.iteye.com/blog/2142774

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 甜宠巨肉h文1v1校园 | 亚洲国产在线观看免费视频 | 欧美贵妇videos办公室 | 91国产在线观看 | 麻豆网站视频国产在线观看 | 免费看成人毛片日本久久 | 京东热dj6666 | 福利视频一区青娱 | 男人综合网| 17岁俄罗斯csgo | 草β好视频 | 粉嫩国产14xxxxx0000 | 91日本在线观看亚洲精品 | 青草碰人人澡人人澡 | 毛片视频网站在线观看 | 99这里精品 | 性关系视频免费网站在线观看 | 99久久精品6在线播放 | 大学生按摩黄a级中文片 | 青青草在视线频久久 | 欧美国产精品久久 | 国产盗摄wc厕所撒尿视频 | 精品国语国产在线对白 | 肉浦团在线观看 | 纲手被强喷水羞羞漫画 | 午夜影院免费入口 | 欧美日韩中文字幕一区二区高清 | 国产一区二区三区福利 | 国产亚洲一级精品久久 | www.男人的天堂 | 久久精品美女 | 亚洲啊v天堂 | 3d动漫h在线观看网站蜜芽 | 人体做爰aaaa免费 | 大ji吧快给我别停受不了视频 | 91九色porny国产美女一区 | 亚洲精品青青草原avav久久qv | 亚洲欧洲日产国码无码av | 九九免费高清在线观看视频 | 2022最新国产在线 | 香蕉97超级碰碰碰免费公 |