當前位置:首頁 » 編程語言 » python網頁登錄

python網頁登錄

發布時間: 2023-01-08 00:34:15

⑴ 怎麼python 模擬網站登錄、注冊

將注冊名和密碼存到字典中,下次登陸時就可以判斷是否對應

⑵ 如何使用python語言實現用戶登錄系統

1、使用python3執行程序。按提示輸入1或2,登錄或退出程序
2、輸入用戶名後,如果用戶名被鎖定及無效用戶名,程序會退出,請確保輸入正確。
3、輸入用戶名正確後,輸入密碼。用戶名正確的情況下,密碼連續輸錯三次,用戶將被鎖定,禁止登錄系統

⑶ 怎樣利用python打開一個網頁並實現自動登錄

登陸其實就是將賬號密碼之類的POST到那個網站的伺服器。你可以通過抓包看到你點擊登陸時發的POST包。那麼你用python也模擬發一個一樣的包給伺服器,就實現了模擬登陸唄。

⑷ Python3 怎樣自動登錄網站

1.絕大部分都可以,不過如今有個別基於localStorage的登陸,這套做法似乎不能很好處理;websocket的會話維持自然也不行。各個網站登陸邏輯可能各有差異,但是絕大部分還是圍繞cookie為核心的,畢竟HTTP本身無狀態,要做區分總得靠一些本地存儲的玩意來保持,而cookie最常見。基本上原樣保留cookie就能解決絕大多數此類問題。

2.基本上主要流程還是瀏覽器訪問一下,跟一跟收發的request/response。登錄行為不可或缺的一部分工作就是需要post個請求來送用戶名和密碼,然後根據response拿到個會話標記(之前說了大部分是cookie)。如果要自動發這個post,要分析一下究竟發的是個多段表單還是json或者別的什麼東西。傳統風格的頁面里一般都是表單跳轉,因此掏出表單填好內容post出去就好。不過很多登陸中密碼是做過些處理的,比如在前端先跑個hash之類,需要看看js;此外還有可能有csrf之類的玩意。把相應的response里的cookie維持下來一般就好。當然如果只考慮單用戶情況,瀏覽器登錄一遍找到cookie原樣保存也是個辦法。個別網站甚至會動態刷cookie里保存的會話標記,那就另一說了。

3.對於大多數人,其實還是推薦requests包(不是urllib.request),通過requests.session維持會話的cookie信息,節省工作量同時也減少出錯可能,比urllib+cookiejar其實方便得多。至於其他人說到的偽造UA之類,反正只是改改HTTP header,啥庫都能做到。

⑸ 怎樣用python實現網頁自動登錄

可以在cmd下通過命令安裝selenium模塊:pip install selenium 或者 easy_install selenium。

分析網頁控制項id:

# -*- coding: utf-8 -*-

import os

from selenium import webdriver

from selenium.webdriver.common.keys import Keys

iedriver = "C:Program FilesInternet ExplorerIEDriverServer.exe"

os.environ["webdriver.ie.driver"] = iedriver #調用IE瀏覽器

browser = webdriver.Ie(iedriver)

browser.get('http://weibo.com/') #需要打開的網址

user = browser.find_element_by_id("loginname") #審查元素username的id

user.send_keys("11111") #輸入賬號

password = browser.find_element_by_name("password") #審查元素password的name

password.send_keys("1234") #輸入密碼

password.send_keys(Keys.RETURN) #實現自動點擊登陸

print('登陸成功')

⑹ selenium:python如何繞過登錄頁面登錄網頁

使用場景
在面對需要賬號密碼登錄的網頁時,可以通過定位輸入框,使用send_keys
輸入賬號密碼登錄。
但是在面對某些無法通過頁面直接登錄的場景,比如需要微信或者軟體掃碼、驗證碼等才能進入頁面的情況時,就可以通過cookie進行登錄。
本文主要介紹通過記錄上一次登錄網頁的cookie,在cookie生效期間直接繞過登錄頁面直接進入系統的登錄方式。

登錄頁面後獲取登錄的cookie

讀取之前存入的cookie

這樣只要記錄的cookie生效,那麼就可以不用每次進入系統時都需要在登錄頁面登錄啦~

⑺ python登陸17zuoye.com

用python登錄,需要傳入cookie,並在cookie里把賬號密碼傳入進去就行

首先利用瀏覽器的開發工具:

importurllib,urllib2,cookielib

postdata=urllib.urlencode({
'j_username':'xxxx',#你的賬號
'j_password':'xxxx'#你的密碼
})
url='http://ucenter.17zuoye.com/j_spring_security_check'#登錄網址

ckfile='cookie.txt'創建一個文檔來存儲數據
cookie=cookielib.MozillaCookieJar(ckfile)
res=urllib2.HTTPCookieProcessor(cookie)
opener=urllib2.build_opener(res)
cont=opener.open(url,postdata)
cookie.save(ignore_discard=True,ignore_expires=True)#保存cookie到本地的cookie.txt

已經搞定了,你可以再添加一個url2,用opener.open(url2)來驗證是否登錄成功

⑻ Python3 怎樣自動登錄網站

先用chrome的調試器抓取登錄的POST請求,對照網頁里表單的代碼,你就清楚該網站登錄的介面,之後用requests寫就是了。

我一般用更省事的方法,勾選自動登錄,然後把cookies存下來給程序用,免登錄,也不用處理登錄驗證碼。當然需要增加檢測是否需要重登錄的邏輯。

少數情況下網站會拒絕常見瀏覽器以外的客戶端請求,需要偽造user-agent,例如https://proxy.org 這個網站,直接用requests抓會返回一個「你丫是爬蟲吧」的錯誤頁面。

⑼ 如何用 Python 爬取需要登錄的網站

最近我必須執行一項從一個需要登錄的網站上爬取一些網頁的操作。它沒有我想像中那麼簡單,因此我決定為它寫一個輔助教程。

在本教程中,我們將從我們的bitbucket賬戶中爬取一個項目列表。

教程中的代碼可以從我的Github中找到。

我們將會按照以下步驟進行:

  • 提取登錄需要的詳細信息

  • 執行站點登錄

  • 爬取所需要的數據

  • 在本教程中,我使用了以下包(可以在requirements.txt中找到):

    Python

    1

    2

  • requests

    lxml

  • 步驟一:研究該網站

    打開登錄頁面

    進入以下頁面 「bitbucket.org/account/signin」。你會看到如下圖所示的頁面(執行注銷,以防你已經登錄)

    仔細研究那些我們需要提取的詳細信息,以供登錄之用

    在這一部分,我們會創建一個字典來保存執行登錄的詳細信息:

    1. 右擊 「Username or email」 欄位,選擇「查看元素」。我們將使用 「name」 屬性為 「username」 的輸入框的值。「username」將會是 key 值,我們的用戶名/電子郵箱就是對應的 value 值(在其他的網站上這些 key 值可能是 「email」,「 user_name」,「 login」,等等)。

    2. 右擊 「Password」 欄位,選擇「查看元素」。在腳本中我們需要使用 「name」 屬性為 「password」的輸入框的值。「password」 將是字典的 key 值,我們輸入的密碼將是對應的 value 值(在其他網站key值可能是 「userpassword」,「loginpassword」,「pwd」,等等)。

    3. 在源代碼頁面中,查找一個名為 「csrfmiddlewaretoken」 的隱藏輸入標簽。「csrfmiddlewaretoken」 將是 key 值,而對應的 value 值將是這個隱藏的輸入值(在其他網站上這個 value 值可能是一個名為 「csrftoken」,「authenticationtoken」的隱藏輸入值)。列如:「」。

    最後我們將會得到一個類似這樣的字典:

    Python

    1

    2

    3

    4

    5

  • payload = {

    "username": "<USER NAME>",

    "password": "<PASSWORD>",

    "csrfmiddlewaretoken": "<CSRF_TOKEN>"

    }

  • 請記住,這是這個網站的一個具體案例。雖然這個登錄表單很簡單,但其他網站可能需要我們檢查瀏覽器的請求日誌,並找到登錄步驟中應該使用的相關的 key 值和 value 值。

    步驟2:執行登錄網站

    對於這個腳本,我們只需要導入如下內容:

    Python

    1

    2

  • import requests

    from lxml import html

  • 首先,我們要創建session對象。這個對象會允許我們保存所有的登錄會話請求。

    Python

    1

  • session_requests = requests.session()

  • 第二,我們要從該網頁上提取在登錄時所使用的 csrf 標記。在這個例子中,我們使用的是 lxml 和 xpath 來提取,我們也可以使用正則表達式或者其他的一些方法來提取這些數據。

    Python

    1

    2

    3

    4

    5

  • login_url = "n/?next=/"

    result = session_requests.get(login_url)

    tree = html.fromstring(result.text)

    authenticity_token = list(set(tree.xpath("//input[@name='csrfmiddlewaretoken']/@value")))[0]

  • **更多關於xpath 和lxml的信息可以在這里找到。

    接下來,我們要執行登錄階段。在這一階段,我們發送一個 POST 請求給登錄的 url。我們使用前面步驟中創建的 payload 作為 data 。也可以為該請求使用一個標題並在該標題中給這個相同的 url添加一個參照鍵。

    Python

    1

    2

    3

    4

    5

  • result = session_requests.post(

    login_url,

    data = payload,

    headers = dict(referer=login_url)

    )

  • 步驟三:爬取內容

    現在,我們已經登錄成功了,我們將從bitbucket dashboard頁面上執行真正的爬取操作。

    Python

    1

    2

    3

    4

    5

  • url = '/overview'

    result = session_requests.get(

    url,

    headers = dict(referer = url)

    )

  • 為了測試以上內容,我們從 bitbucket dashboard 頁面上爬取了項目列表。我們將再次使用 xpath 來查找目標元素,清除新行中的文本和空格並列印出結果。如果一切都運行 OK,輸出結果應該是你 bitbucket 賬戶中的 buckets / project 列表。

    Python

    1

    2

    3

    4

    5

  • tree = html.fromstring(result.content)

    bucket_elems = tree.findall(".//span[@class='repo-name']/")

    bucket_names = [bucket.text_content.replace("n", "").strip() for bucket in bucket_elems]

    print bucket_names

  • 你也可以通過檢查從每個請求返回的狀態代碼來驗證這些請求結果。它不會總是能讓你知道登錄階段是否是成功的,但是可以用來作為一個驗證指標。

    例如:

    Python

    1

    2

  • result.ok # 會告訴我們最後一次請求是否成功

    result.status_code # 會返回給我們最後一次請求的狀態

⑽ 如何用python實現網頁自動登錄

這個你要用到BP,抓取數據包,通過分析數據包提交的表單,每次調用腳本的時候將表單進行提交,但一般這種可行比較低,看網頁的安全性做的如何,如果有驗證碼和token校驗的話你就不用試了。

熱點內容
oracle測試sql 發布:2025-07-08 03:16:54 瀏覽:973
php壁紙源碼 發布:2025-07-08 03:04:26 瀏覽:320
android應用層 發布:2025-07-08 02:42:32 瀏覽:301
大唐存儲銷量 發布:2025-07-08 02:41:11 瀏覽:582
腳本怎麼打開 發布:2025-07-08 02:41:06 瀏覽:822
貴州電信iPtv升級伺服器地址 發布:2025-07-08 02:38:48 瀏覽:412
電腦怎麼鏈接本地伺服器 發布:2025-07-08 02:34:22 瀏覽:147
android調試webview 發布:2025-07-08 02:26:28 瀏覽:358
壓縮袋鞋子 發布:2025-07-08 02:21:30 瀏覽:752
為什麼安卓打吃雞感覺有延遲 發布:2025-07-08 02:09:32 瀏覽:168