『壹』 怎麼python 模擬網站登錄、注冊
將注冊名和密碼存到字典中,下次登陸時就可以判斷是否對應
『貳』 python3模擬登錄有哪些情況
使用谷歌瀏覽器F12查看登錄請求內容
1.request header需要參數:User-Agent、Referer等。
2.post內容。
python 3.x中urllib庫和urilib2庫合並成了urllib庫。
urllib2.urlopen()變成了urllib.request.urlopen()
urllib2.Request()變成了urllib.request.Request()
cookielib 模塊-》http.cookiejar
#!/usr/bin/envpython
#-*-coding:gb2312-*-
#__author__="zhaowei"
'''
python3.4
模擬登錄鄭州公積金網站,查詢繳存至月份。
'''
fromhtml.parserimportHTMLParser
importurllib
importhttp.cookiejar
importstring
importre
hosturl='http://www.zzgjj.com/index.asp'
posturl='http://www.zzgjj.com/user/login.asp'
cj=http.cookiejar.CookieJar()
cookie_support=urllib.request.HTTPCookieProcessor(cj)
opener=urllib.request.build_opener(cookie_support,urllib.request.HTTPHandler)
urllib.request.install_opener(opener)
h=urllib.request.urlopen(hosturl)
headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;WOW64;rv:38.0)Gecko/20100101Firefox/38.0',
'Referer':'http://www.zzgjj.com/index.asp'}
postData={'selectlb':'1',#登錄模式,身份證2,賬號1
'username':'1423141234',#公積金賬號
'radename':'趙威',#姓名
'mm':'88888',#密碼
'submit322':'確認'#固定值
}
postData=urllib.parse.urlencode(postData,encoding='gb2312').encode('gb2312')
#因為post裡面有中文,因此需要先把url經過gb2312編碼處理,然後再把請求編碼為gb2312位元組碼(post必須是位元組碼)。
request=urllib.request.Request(posturl,postData,headers)
response=urllib.request.urlopen(request)
text=response.read()
html=text.decode('gb2312')
hgjj_last_data=re.findall('<td><p>繳至月份:</p>(s*)</td>(s*)<td>(.*?)</td>',html)
#使用正則表達式匹配繳至月份
print(hgjj_last_data[0][2])
『叄』 python爬蟲模擬登錄是什麼意思
有些網站需要登錄後才能爬取所需要的信息,此時可以設計爬蟲進行模擬登錄,原理是利用瀏覽器cookie。
一、瀏覽器訪問伺服器的過程:
(1)瀏覽器(客戶端)向Web伺服器發出一個HTTP請求(Http request);
(2)Web伺服器收到請求,發回響應信息(Http Response);
(3)瀏覽器解析內容呈現給用戶。
二、利用Fiddler查看瀏覽器行為信息:
Http請求消息:
(1)起始行:包括請求方法、請求的資源、HTTP協議的版本號
這里GET請求沒有消息主體,因此消息頭後的空白行中沒有其他數據。
(2)消息頭:包含各種屬性
(3)消息頭結束後的空白行
(4)可選的消息體:包含數據
Http響應消息:
(1)起始行:包括HTTP協議版本,http狀態碼和狀態
(2)消息頭:包含各種屬性
(3)消息體:包含數據
可以發現,信息里不僅有帳號(email)和密碼(password),其實還有_xsrf(具體作用往後看)和remember_me(登錄界面的「記住我」)兩個值。
那麼,在python爬蟲中將這些信息同樣發送,就可以模擬登錄。
在發送的信息里出現了一個項:_xsrf,值為
這個項其實是在訪問知乎登錄網頁https://www.hu.com/#signin時,網頁發送過來的信息,在瀏覽器源碼中可見:
所以需要先從登錄網址https://www.hu.com/#signin獲取這個_xsrf的值,
並連同帳號、密碼等信息再POST到真正接收請求的http://www.hu.com/login/email網址。
(2)獲取_xsrf的值:
爬取登錄網址https://www.hu.com/#signin,從內容中獲取_xsrf的值。
正則表達式。
(3)發送請求:
xsrf = 獲取的_xsrf的值
data = {"email":"xxx","password":"xxx","_xsrf":xsrf}
login = s.post(loginURL, data = data, headers = headers)
loginURL:是真正POST到的網址,不一定等同於登錄頁面的網址;
(4)爬取登錄後的網頁:
response = s.get(getURL, cookies = login.cookies, headers = headers)
getURL:要爬取的登陸後的網頁;
login.cookies:登陸時獲取的cookie信息,存儲在login中。
(5)輸出內容:
print response.content
五、具體代碼:
[python]view plain
#-*-coding:utf-8-*-
#author:Simon
#updatetime:2016年3月17日17:35:35
#功能:爬蟲之模擬登錄,urllib和requests都用了...
importurllib
importurllib2
importrequests
importre
headers={'User-Agent':'Mozilla/5.0(WindowsNT6.2)AppleWebKit/535.11(KHTML,likeGecko)Chrome/17.0.963.12Safari/535.11'}
defget_xsrf():
firstURL="http://www.hu.com/#signin"
request=urllib2.Request(firstURL,headers=headers)
response=urllib2.urlopen(request)
content=response.read()
pattern=re.compile(r'name="_xsrf"value="(.*?)"/>',re.S)
_xsrf=re.findall(pattern,content)
return_xsrf[0]
deflogin(par1):
s=requests.session()
afterURL="https://www.hu.com/explore"#想要爬取的登錄後的頁面
loginURL="http://www.hu.com/login/email"#POST發送到的網址
login=s.post(loginURL,data=par1,headers=headers)#發送登錄信息,返回響應信息(包含cookie)
response=s.get(afterURL,cookies=login.cookies,headers=headers)#獲得登陸後的響應信息,使用之前的cookie
returnresponse.content
xsrf=get_xsrf()
print"_xsrf的值是:"+xsrf
data={"email":"xxx","password":"xxx","_xsrf":xsrf}
printlogin(data)
六、補充:
用知乎網做完試驗,發現這里好像並不需要發送_xsrf這個值。
不過有的網站在登陸時確實需要發送類似這樣的一個值,可以用上述方法。
『肆』 python3 用webdriver模擬登錄頁面,登錄按鈕的鏈接是javascript:;,怎麼實現點擊啊
你那個登錄按鈕有一個class="login-button logReg_btn1",可以用find_element_by_class_name()來識別,
輸入login-button或者logReg_btn1都可以
『伍』 Python培訓哪裡最好
相信在IT領域發展的同學對Java很熟悉。Python編程語言排行中一直處於領先地位,這可以直接體現Python的重要。因此很多同學准備參加Python培訓機構系統學習。那麼,Python培訓機構哪家比較好?下面我們介紹一下。
隨著Python普及,越來越多的人了解py,企業也會對求職者提出更高的要求,他們想招聘一些能馬上開始工作的人,所以往往會招聘一些有項目開發經驗的人。這就是為什麼那麼多計算機專業的大學生找不到工作,所以越來越多的大學生會選擇在畢業前後參加一些專業的Python培訓課程,以增加他們的實踐經驗。只有增強自己的力量,才能立於不敗之地。
1.看教學課程內容
學習Java技術,最主要是與時俱進,掌握的技術點能夠滿足時下企業的用人需求。而想要了解一家培訓機構所提供的課程是否新穎,也可以去機構的官網上看看,了解自己想學習的學科的課程大綱。看看學習路線圖是如何安排的,有沒有從零到一的系統搭建,是不是有強化實訓、實操的比重,有盡量多的項目實戰。因為企業對Java從業者的技術能力和動手實戰能力要求較高。
2.看師資力量
因為Java開發技術知識的專業性很強,如果盲目去學很容易走進誤區。相反,有講師帶領,站在巨人的肩膀上,往往事半功倍。畢竟現在這個時代只要多跟別人交流才能獲得更多更有價值的信息,初學者千萬不能閉門造車。
3.看口碑
行業內口碑比較好,學生對培訓機構比較認可,這種機構把精力放在了學生身上的機構,才是做教育的應有態度。
4.看就業情況
以學生就業為目標的培訓機構現在才是最主要的。要知道就業也是教學成果的體現,沒有好的教學保證是做不到好的就業的。
5.上門免費試聽
試聽是為了更好的去感受培訓機構的課程內容、講課風格、班級氛圍等,同時也能通過和班上在讀同學進行交流,更進一步去了解這家培訓機構各個方面是否符合自己的需要。
『陸』 python3 怎麼自動 模擬登錄
之前剛回答過這個問題,代碼給你粘過來吧,一個最簡單的小例子:
import requests
url = 'https://***'
postdata = {
'username' : '***',
'password' : '***',
}
s = requests.session()
response = s.post(urls, data = postdata)
PS:星號換成你你實際的url和用戶名密碼
『柒』 使用pythonrest_framework製作的微信登錄為什麼只能一個號可以登錄
如果是兩個微信號,用的是一個手機號,就在的話,那你登陸的時候可能他只會登陸一個。需要另一個需要綁定新的手機號碼,然後用新的去登陸你應該就行了。
微信是不能兩個手機同時登錄一個賬號的。一部手機登錄微信號,如果要用另一部登錄,那麼只能是退出第一部手機登錄的微信,這也是為了用戶的信息安全。不過,一部手機登錄微信,還可以在電腦端登錄。
一部手機是可以登錄兩個微信號的,但是只能是在微信多開的情況下,這就需要手機支持微信多開功能了,否則只能是相互切換微信號,而不能實時更新微信信息,但是微信多開登錄兩個微信號,則互不影響。
『捌』 哪個Python庫可以操作登錄微信公眾號後,可以自動操作公眾號里的內容。
selenium庫
『玖』 用python程序模擬登錄騰訊微博,會出現圖形驗證碼,怎麼能繞開這個圖形驗證碼
建議不要這么做,哪天他換了估計你還要改代碼,TX這種API應該都給了,你要做的是彈出驗證碼讓用戶輸入才對