日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

爬虫案例:自动登录抽屉新热榜

發布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 爬虫案例:自动登录抽屉新热榜 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

爬蟲案例:自動登錄抽屜新熱榜


?寫在前面

  剛開始我以為抽屜是一個項目,就是類似于那種抽屜的效果,然后就在糾結還要不要學這個單元,因為我沒有現成的案例拿來用,如果要用的話還要自己寫很費時間,但是不想混過去,心里有個心事不舒服,就想去網上down一個,結果就找到了抽屜...

    在對網站進行爬取的時候,一定要偽裝成瀏覽器!!!

      在對網站進行爬取的時候,一定要偽裝成瀏覽器!!!

        在對網站進行爬取的時候,一定要偽裝成瀏覽器!!!

https://dig.chouti.com/

?  

?

編前思考

?1、首先我們要考慮抽屜網站是通過?form?還是?ajax?提交登錄的。

  form :當點擊提交按鈕時頁面會全部刷新。

  ajax:當點擊提交按鈕時頁面不會刷新。

  OK,抽屜網站使用的是ajax提交,不會刷新。

?2、編寫代碼登錄抽屜官網

  首先對網站提交進行分析。

?  

?

# __author : "王佳偉" # date : 2019-01-16import requests# 提交的參數 post_data = {"phone": '86'+'15668318888','password': '123','oneMonth': 1 # 一個月內免登陸 }# 一定要添加瀏覽器,不然可能會遇到網絡防火墻 headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:58.0) Gecko/20100101 Firefox/58.0'}response = requests.post(url='https://dig.chouti.com/login',# 偽裝成瀏覽器headers =headers,data=post_data, )print(response.text) # 獲取cookie cookie_dic = response.cookies.get_dict() print(cookie_dic)

  

?  ···· 注意:注冊賬號,填寫正確的手機號和密碼會登陸成功!

?  

?

?登錄抽屜,獲取設置頁

?  抽屜做了一件對于爬取的用戶來說很煩,但是對于網站的安全性來說確實很棒的一件事!!!

  抽屜網比較特別,一般的網站在登陸的時候會返回一個cookies,以后再次登陸的時候只要帶著這個cookies去登陸就可以,但是抽屜網得特別之處在于登陸后返回給用戶得cookies是沒用得,這是抽屜網做出來混淆視聽得一種做法。

  我們第一次打開抽屜網得時候,用get請求發送,這時候其實抽屜網會返回一個cookies。

import requests# 一定要添加瀏覽器,不然可能會遇到網絡防火墻 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:58.0) Gecko/20100101 Firefox/58.0'}r1 = requests.get(url='http://dig.chouti.com/',headers = headers ) # 獲取第一次進入主頁得到的cookie r1_cookie_dic = r1.cookies.get_dict() print(r1_cookie_dic)

  然后在此頁面進行登陸的時候,發送post請求,其實就是對get請求返回得cookies進行授權,登陸名和密碼登陸成功,也就是授權cookies,然后就可以用這個cookies進行自動登陸或者點贊設置等。

  注意的是,發送post請求得時候其實也會返回一個cookies,但是這個cookies是無用得,所以正確得cookies應該是第一次拿到得cookies才可以正確登陸。但是大多數網站不是這樣的,只有抽屜是這樣!!

具體代碼

# __author : "王佳偉" # date : 2019-01-16import requests# 一定要添加瀏覽器,不然可能會遇到網絡防火墻 headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:58.0) Gecko/20100101 Firefox/58.0'}# 第一次去抽屜拿到需要授權的cookies r1 = requests.get(url='http://dig.chouti.com/',headers=headers )# 獲取第一次進入主頁得到的cookie r1_cookie_dic = r1.cookies.get_dict() print(r1_cookie_dic)# 登錄的提交參數 post_data = {"phone": '86' + '你抽屜官網注冊的手機號','password': '你的抽屜官網密碼','oneMonth': 1 # 一個月內免登陸 }# 第二次登錄抽屜 response = requests.post(url='https://dig.chouti.com/login',# 為了模擬瀏覽器得行為,每次都要帶著請求頭去這樣這樣不會容易被發現是爬蟲。headers=headers,data=post_data,# 第二次登陸發送post請求時,應該將第一次得cookies帶過去授權,所以要帶著cookies。cookies=r1_cookie_dic ) print(response.text) # 獲取第二次登錄返回的cookie,盡管有返回,但是第二次返回的這個cookie沒有用 cookie_dic = response.cookies.get_dict() print(cookie_dic)# 進入個人設置頁面 response = requests.get(url='https://dig.chouti.com/profile',# 模擬瀏覽器headers=headers,# 提交cookie(一般網站使用下面這句代碼就行,抽屜不行)# cookies=cookie_dic,# 抽屜官網有點淘氣,陰了我們一下,將授權好的第一次的cookies帶進去訪問cookies={'gpsd': r1_cookie_dic.get('gpsd')} ) # 輸出返回的頁面 print(response.text)

?  

?

總結

以上是生活随笔為你收集整理的爬虫案例:自动登录抽屉新热榜的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。