乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      python requests 模擬登陸網(wǎng)站,抓取數(shù)據(jù)

       LibraryPKU 2019-12-18

      抓取頁面數(shù)據(jù)的時候,有時候我們需要登陸才可以獲取頁面資源,那么我們需要登陸以后才可以跳轉(zhuǎn)到對應(yīng)的資源頁面,那么我們需要通過模擬登陸,登陸成功以后再次去抓取對應(yīng)的數(shù)據(jù)。

      首先我們需要通過手動方式來登陸一下,查看一下如何請求登陸

      通過下圖我們看到真正處理請求的頁面是login.php,登陸成功以后跳轉(zhuǎn)到index.php頁面,下面我們來模擬一下。

      代碼實(shí)現(xiàn)

      復(fù)制代碼

      LOGIN_URL = 'http://yingxiao./login.php'  #請求的URL地址DATA = {"username":'accountID',"passwd":'passwd'}   #登錄系統(tǒng)的賬號密碼,也是我們請求數(shù)據(jù)HEADERS = { 
                  'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36' #模擬登陸的瀏覽器             }
      RES = requests.post(LOGIN_URL,data=DATA,headers=HEADERS)  #模擬登陸操作print (RES.text) #打印返回的文本信息 

      復(fù)制代碼

      下來我們請求其他的頁面看一下效果

      RES1 = requests.get("http://yingxiao./show.php?id=64621190")print(RES1.text)

       此時我們登陸成功再次請求其他的頁面的時候,發(fā)現(xiàn)無法請求到對應(yīng)的頁面,意味到剛才的模擬登陸只對當(dāng)前的操作起作用,那么如何使用下面的請求繼續(xù)有效。實(shí)際過程中我們知道session過期,我們需要重新登陸,那么我們第一次登陸成功session,只對當(dāng)前有效,所以我們再次登錄就登陸失敗,那么我們需要在session有效期內(nèi),把session保存,然后再次去請求其他的頁面。

      復(fù)制代碼

      def Get_Session(URL,DATA,HEADERS):    '''保存登錄參數(shù)'''
          ROOM_SESSION  = requests.Session()
          ROOM_SESSION.post(URL,data=DATA,headers=HEADERS)    return ROOM_SESSION
      
      SESSION =Get_Session(LOGIN_URL,DATA,HEADERS)# 保存session后再次請求對應(yīng)的地址RES2 = SESSION.get("http://yingxiao./show.php?id=64621190")print(RES2.text)

      復(fù)制代碼

      此時我們看到已經(jīng)可以請求到對應(yīng)的頁面了。

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多