最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python 登錄網(wǎng)站詳解及實例

 更新時間:2017年04月11日 15:16:20   投稿:lqh  
這篇文章主要介紹了Python 登錄網(wǎng)站詳解及實例的相關(guān)資料,需要的朋友可以參考下

Python 登錄網(wǎng)站詳解及實例

對于大部分論壇,我們想要抓取其中的帖子分析,首先需要登錄,否則無法查看。

  這是因為 HTTP 協(xié)議是一個無狀態(tài)(Stateless)的協(xié)議,服務(wù)器如何知道當(dāng)前請求連接的用戶是否已經(jīng)登錄了呢?有兩種方式:

  1. 在URI 中顯式地使用 Session ID;
  2. 利用 Cookie,大概過程是登錄一個網(wǎng)站后會在本地保留一個 Cookie,當(dāng)繼續(xù)瀏覽這個網(wǎng)站的時候,瀏覽器會把 Cookie 連同地址請求一起發(fā)送過去。

  Python 提供了相當(dāng)豐富的模塊,所以對于這種網(wǎng)絡(luò)操作只要幾句話就可以完成。我以登錄 QZZN 論壇為例,事實上下面的程序幾乎所有的 PHPWind 類型的論壇都是適用的。

# -*- coding: GB2312 -*-

from urllib import urlencode
import cookielib, urllib2

# cookie
cj = cookielib.LWPCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
urllib2.install_opener(opener)

# Login
user_data = {'pwuser': '你的用戶名',
       'pwpwd': '你的密碼',
       'step':'2'
      }
url_data = urlencode(user_data)
login_r = opener.open("http://bbs.qzzn.com/login.php", url_data)

 一些注釋:

  • urllib2 顯然是比 urllib 高級一點的模塊,里面包括了如何使用 Cookies。
  • 在 urllib2 中,每個客戶端可以用一個 opener 來抽象,每個 opener 又可以增加多個 handler 來增強其功能。
  • 在構(gòu)造 opener 時指定了 HTTPCookieProcessor 做為 handler,因此這個 handler 支持 Cookie。
  • 使用 isntall_opener 后,調(diào)用 urlopen 時會使用這個 opener。
  • 如果不需要保存 Cookie,cj 這個參數(shù)可以省略。
  • user_data 存放的就是登錄所需要的信息,在登錄論壇的時候把這個信息傳遞過去就行了。
  • urlencode 功能是把字典 user_data 編碼成"?pwuser=username&pwpwd=password"的形式,這樣做是為了使程序易讀一些。

  最后一個問題是,pwuser、pwpwd 這類的名字是從哪兒來的,這就要分析需要登錄的網(wǎng)頁了。我們知道,一般的登錄界面都是一個表單,節(jié)選如下:

<form action="login.php?" method="post" name="login" onSubmit="this.submit.disabled = true;"> 
<input type="hidden" value="" name="forward" /> 
<input type="hidden" value="http://bbs.qzzn.com/index.php" name="jumpurl" /> 
<input type="hidden" value="2" name="step" /> 
... 
<td width="20%" onclick="document.login.pwuser.focus();"><input type="radio" name="lgt" value="0" checked />用戶名 <input type="radio" name="lgt" value="1" />UID</td> 
<td><input class="input" type="text" maxLength="20" name="pwuser" size="40" tabindex="1" /> <a href="reg1ster.php" rel="external nofollow" >馬上注冊</a></td> 
<td>密 碼</td> 
<td><input class="input" type="password" maxLength="20" name="pwpwd" size="40" tabindex="2" /> <a href="sendpwd.php" rel="external nofollow" target="_blank">找回密碼</a></td> 
... 
</form>

  從這里可以看出,我們需要輸入的用戶名密碼對應(yīng)的就是 pwuser 和 pwpwd,而 step 對應(yīng)的則是登錄(這個是嘗試出來的)。

  注意到,這個論壇表單采用的是 post 方式,如果是 get 方式則本文的方法就需要變動一下,不能直接 open,而是應(yīng)該首先 Request,然后再 open。更詳細(xì)的請看手冊...

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • python讀取配置文件方式(ini、yaml、xml)

    python讀取配置文件方式(ini、yaml、xml)

    這篇文章主要介紹了python讀取配置文件方式(ini、yaml、xml),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python抓取需要掃微信登陸頁面

    python抓取需要掃微信登陸頁面

    這篇文章主要介紹了python抓取需要掃微信登陸頁面的相關(guān)知識,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-04-04
  • Python內(nèi)置random模塊生成隨機數(shù)的方法

    Python內(nèi)置random模塊生成隨機數(shù)的方法

    這篇文章主要介紹了Python內(nèi)置random模塊生成隨機數(shù)的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • 通過python實現(xiàn)Google的精準(zhǔn)搜索功能

    通過python實現(xiàn)Google的精準(zhǔn)搜索功能

    這篇文章主要介紹了通過python實現(xiàn)Google的精準(zhǔn)搜索功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-05-05
  • 對python制作自己的數(shù)據(jù)集實例講解

    對python制作自己的數(shù)據(jù)集實例講解

    今天小編就為大家分享一篇對python制作自己的數(shù)據(jù)集實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • pycharm2022沒有manage repositories配置鏡像源的解決方法

    pycharm2022沒有manage repositories配置鏡像源的解決方法

    本文主要介紹了pycharm2022沒有manage repositories配置鏡像源的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 利用Python實現(xiàn)簡易計算器的示例代碼

    利用Python實現(xiàn)簡易計算器的示例代碼

    最近學(xué)習(xí)了字符串,運算符,條件語句,循環(huán)語句,我在想可以用我最近學(xué)的東西做什么? 看到運算我就想到了可以做一個簡易的計算器,感興趣的可以了解一下
    2022-11-11
  • python學(xué)習(xí)之whl文件解釋與安裝詳解

    python學(xué)習(xí)之whl文件解釋與安裝詳解

    whl格式本質(zhì)上是一個壓縮包,里面包含了py文件,以及經(jīng)過編譯的pyd文件,下面這篇文章主要給大家介紹了關(guān)于python學(xué)習(xí)之whl文件解釋與安裝的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • python關(guān)于excel多個sheet的導(dǎo)入導(dǎo)出方式

    python關(guān)于excel多個sheet的導(dǎo)入導(dǎo)出方式

    這篇文章主要介紹了python關(guān)于excel多個sheet的導(dǎo)入導(dǎo)出方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python實現(xiàn)視頻下載功能

    Python實現(xiàn)視頻下載功能

    最近一兩年短視頻業(yè)務(wù)風(fēng)生水起,各個視頻網(wǎng)站都有各自特色的短視頻內(nèi)容。如果有一個程序可以把各大視頻網(wǎng)站的熱門用戶最新發(fā)布的視頻下載下來,不僅方便了觀看,還可以將沒有版權(quán)的視頻發(fā)布在個人社交網(wǎng)站上,增加自己的人氣,多好呀
    2017-03-03

最新評論

亚东县| 嘉定区| 泾川县| 屏山县| 博白县| 临泽县| 和政县| 凤山县| 上蔡县| 醴陵市| 丁青县| 外汇| 镇康县| 平乐县| 金华市| 拜泉县| 海口市| 内黄县| 乌海市| 区。| 三河市| 堆龙德庆县| 平阴县| 阳高县| 亚东县| 安岳县| 吉木萨尔县| 山西省| 南安市| 若尔盖县| 外汇| 长治县| 饶阳县| 察哈| 文山县| 扎囊县| 精河县| 绵阳市| 临清市| 元朗区| 泸溪县|