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

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

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

服務器之家 - 腳本之家 - Python - Python實現模擬瀏覽器請求及會話保持操作示例

Python實現模擬瀏覽器請求及會話保持操作示例

2021-03-24 00:08初行 Python

這篇文章主要介紹了Python實現模擬瀏覽器請求及會話保持操作,結合實例形式分析了Python基于urllib與urllib2模塊模擬瀏覽器請求及cookie保存會話相關操作技巧,需要的朋友可以參考下

本文實例講述了Python實現模擬瀏覽器請求及會話保持操作。分享給大家供大家參考,具體如下:

python下讀取一個頁面的數據可以通過urllib2輕松實現請求

?
1
2
import urllib2
print urllib2.urlopen('http://www.baidu.com').read()

涉及到頁面的POST請求操作的話需要提供頭信息,提交的post數據和請求頁面。

其中的post數據需要urllib.encode()一下,其實就是將字典轉換成“data1=value1&data2=value2”的格式。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import urllib
import urllib2
HEADER = {
 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0',
 'Referer' : 'http://202.206.1.163/logout.do'
}
POSTDATA = {
 'data1': 'value1',
 'data2': 'value2'
}
HOSTURL = 'http://xxx.com'
enpostdata = urllib.urlencode(POSTDATA)
urlrequest = urllib2.Request(hosturl,enpostdata,HEADER)
urlresponse = urllib2.urlopen(urlrequest)
print urlresponse.read()

請求之后瀏覽器會有一個會話保持的過程,會話都是保存在一個cookie里面的,下一次頁面的請求會把cookie放到請求頭,如果cookie丟失會話也就斷開了。

Python實現模擬瀏覽器請求及會話保持操作示例

在python下面需要設置一下cookie的保持

?
1
2
3
4
5
6
# cookie set
# 用來保持會話
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)

下面是將以上知識點匯總寫的一個庫文件,方便使用:

?
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
# filename: analogop.py
#!/usr/bin/python
# -*-coding:UTF-8 -*-
# author: 初行
# qq: 121866673
# message: I need a python job
# time: 2014/10/5
import urllib
import urllib2
import cookielib
# cookie set
# 用來保持會話
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)
# default header
HEADER = {
 'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0',
 'Referer' : 'http://202.206.1.163/logout.do'
}
# operate method
def geturlopen(hosturl, postdata = {}, headers = HEADER):
 # encode postdata
 enpostdata = urllib.urlencode(postdata)
 # request url
 urlrequest = urllib2.Request(hosturl, enpostdata, headers)
 # open url
 urlresponse = urllib2.urlopen(urlrequest)
 # return url
 return urlresponse

這個是測試文件,因為讀者沒有測試環境,需要自己搭建或者找個網站測試:

?
1
2
3
4
5
6
7
8
9
10
11
12
#filename: test.py
from analogop import geturlopen
postd = {
 'usernum': '2011411111',
 'upw': '124569',
 'userip': '192.168.10.1',
 'token': 'xxx'
}
urlread = geturlopen('http://127.0.0.1:8000/login/', postd)
print urlread.read().decode('utf-8')
urlread = geturlopen('http://127.0.0.1:8000/chafen/', {})
print urlread.read().decode('utf-8')

希望本文所述對大家Python程序設計有所幫助。

原文鏈接:https://www.cnblogs.com/zxlovenet/p/4006649.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 大叔在线观看 | 亚洲天堂伦理 | 黄片毛片 | 精品无人区麻豆乱码无限制 | 四虎影院久久 | 久久国产视频网 | 美女岳肉太深了使劲 | 91香蕉依人综合久久 | 欧美高清在线不卡免费观看 | 草莓视频看污 | 久久精品视在线观看85 | 国产精品久热 | 特黄特黄一级高清免费大片 | 欧美亚洲另类在线观看 | 女仆色在线观看 | 国产精品欧美在线观看 | sihu国产午夜精品一区二区三区 | 日韩在线一区二区三区 | 欧美精品一区二区在线观看 | 色中文字幕 | 四虎影院永久网址 | 日本黄色大片免费观看 | 7788理论片在线观看 | 美女被草出水 | 性色xxx| 亚洲乱亚洲乱妇41p国产成人 | 双性总裁(h) | 国产一区风间由美在线观看 | 国产青草亚洲香蕉精品久久 | 精品女同一区二区三区免费站 | 99草视频| 男生操女生动态图 | 四虎成人免费观看在线网址 | 成年人天堂 | 91资源站 | 美女尿口羞羞视频 | 97porm自拍视频区原创 | 男同激情视频 | 亚洲网站在线观看 | 久久精品国产在热亚洲 | hh99me福利毛片 |