国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python爬蟲之模擬登陸csdn的實例代碼

2020-02-23 00:08:13
字體:
來源:轉載
供稿:網友

python模擬登陸網頁主要使用到urllib、urllib2、cookielib及BeautifulSoup等基本模塊,當然進階階段我們還可以使用像requests等更高級一點的模塊。其中BeautifulSoup模塊在匹配html方面,可以很好的代替re,使用起來更方便,對于不會使用正則的人來說是福音。

本文使用python2.7

原理

模擬登陸前,我們需要先知道csdn是如何登陸的。我們通過google chrome瀏覽器先來分析下:

1.chrome瀏覽器用F12或ctrl+shift+I啟動開發者工具,并訪問csdn登陸頁面,在開發者工具中對”Preserver log”選項打勾,表示跳轉時不清楚之前的訪問記錄。

2.輸入用戶名密碼后,網頁進行跳轉,此時我們查看訪問記錄中Method為POST的鏈接的headers,可以看到

Request header:

Cache-Control:no-cacheCache-Control:no-storeConnection:keep-aliveContent-Encoding:gzipContent-Type:text/html;charset=UTF-8Date:Fri, 05 Aug 2016 03:51:56 GMTExpires:Thu, 01 Jan 1970 00:00:00 GMTKeep-Alive:timeout=20Pragma:no-cacheServer:openrestySet-Cookie:UD=%E4%BB%8A%E5%A4%A9%E4%B8%8D%E8%B5%B0%EF%BC%8C%E6%98%8E%E5%A4%A9%E5%8D%B3%E4%BD%BF%E8%B7%91%E4%B9%9F%E4%B8%8D%E4%B8%80%E5%AE%9A%E8%B7%9F%E5%BE%97%E4%B8%8A%EF%BC%81; Domain=.csdn.net; Path=/Set-Cookie:UserName=yanggd1987; Domain=.csdn.net; Path=/Set-Cookie:UserInfo=RjXwn4OfICh68ZVTzEjJxlcez5O%2B8RMsVvAiTV6uo4n4q1orcuBFZz29qx%2BUZ7JPFQQivvFGwFaC97NpT%2FKhtcZ2U%2B%2BzivoNtu5nTyg717xzimpeHcoutwnMg%2F5S8ZlARzA8H48TOftvUJUB0mxylQ%3D%3D; Domain=.csdn.net; Path=/Set-Cookie:UserNick=man8er; Domain=.csdn.net; Path=/Set-Cookie:AU=A3E; Domain=.csdn.net; Path=/Set-Cookie:CASTGC=TGT-63516-e4e600adR5WiJAFintPeHqNCpGRvO9w7nHBYtY5XUCc2BPCCcG-passport.csdn.net; Path=/; SecureSet-Cookie:UN=yanggd1987; Domain=.csdn.net; Expires=Sat, 05-Aug-2017 03:51:55 GMT; Path=/Set-Cookie:UE="yanggd1987@163.com"; Version=1; Domain=.csdn.net; Max-Age=31536000; Expires=Sat, 05-Aug-2017 03:51:55 GMT; Path=/Set-Cookie:BT=1470369115868; Domain=.csdn.net; Expires=Sat, 05-Aug-2017 03:51:55 GMT; Path=/Set-Cookie:access-token=0bd99cf6-c5bf-4683-89b8-9d8678bebff9; Domain=.csdn.net; Path=/Transfer-Encoding:chunkedVary:Accept-Encoding

有以上可以看出登陸過程中有cookie

POST提交的數據:

username:XXXXXXXXXpassword:XXXXXXXXXlt:LT-52961-eMo02Bz4tlj3wQz4QMuO173GCIdsqEexecution:e15s1_eventId:submit

其中username和password表示我們登陸的賬戶和密碼,那lt、execution表示什么呢?不要急,我們看看登陸頁面網站的源代碼:

<form id="fm1" action="/account/login?from=http%3A%2F%2Fmy.csdn.net%2Fmy%2Fmycsdn" method="post">   <input id="password" name="password" tabindex="2" placeholder="輸入密碼" class="pass-word" type="password" value="" autocomplete="off">   <div class="row forget-password">   <span class="col-xs-6 col-sm-6 col-md-6 col-lg-6">    <input type="checkbox" name="rememberMe" id="rememberMe" value="true" class="auto-login" tabindex="4">    <label for="rememberMe">下次自動登錄</label>   </span>   <span class="col-xs-6 col-sm-6 col-md-6 col-lg-6 forget tracking-ad" data-mod="popu_26">    <a href="/account/fpwd?action=forgotpassword&service=http%3A%2F%2Fmy.csdn.net%2Fmy%2Fmycsdn" rel="external nofollow" tabindex="5" target="_blank">忘記密碼</a>   </span>   </div>   <!-- 該參數可以理解成每個需要登錄的用戶都有一個流水號。只有有了webflow發放的有效的流水號,用戶才可以說明是已經進入了webflow流程。否則,沒有流水號的情況下,webflow會認為用戶還沒有進入webflow流程,從而會重新進入一次webflow流程,從而會重新出現登錄界面。 -->   <input type="hidden" name="lt" value="LT-53452-VLvC2gjfxdj4jheoUJQRkIXgoDZfc3">   <input type="hidden" name="execution" value="e16s1">    <input id="username" name="username" tabindex="1" placeholder="輸入用戶名/郵箱/手機號" value="用戶名" class="user-name" type="text"><input type="hidden" name="_eventId" value="submit">    <input class="logging" accesskey="l" value="登 錄" tabindex="6" type="button">   </form>            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高平市| 清水县| 广元市| 孟州市| 乌什县| 泊头市| 临洮县| 鄱阳县| 嵩明县| 五原县| 衡水市| 阿勒泰市| 常德市| 吉木乃县| 正蓝旗| 鄂托克前旗| 六安市| 静安区| 建阳市| 吕梁市| SHOW| 增城市| 闸北区| 商丘市| 军事| 汤阴县| 顺义区| 扶余县| 昌邑市| 资中县| 东源县| 合川市| 湘乡市| 奉新县| 莱阳市| 新巴尔虎右旗| 峨眉山市| 平原县| 鲁甸县| 罗山县| 宜宾县|