遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!


遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!


你好由於你是遊客無法查看本文請你登錄再進謝謝合作

遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!

當你在爬某些網站的時候需要你登錄才可以獲取數據咋整?莫慌小編把這幾招傳授給你讓你以後從容應對

遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!

登錄的常見方法無非是這兩種1、讓你輸入帳號和密碼登錄

遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!

2、讓你輸入帳號密碼+驗證碼登錄

遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!

今天先跟你說說第一種需要驗證碼的咱們下一篇再講第一招

遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!

Cookie大法你平常在上某個不為人知的網站的時候是不是發現你只要登錄一次就可以一直看到你想要的內容過了一陣子才需要再次登錄這就是因為 Cookie 在做怪簡單來說就是每一個使用這個網站的人服務器都會給他一個 Cookie那麼下次你再請求數據的時候你順帶把這個 Cookie 傳過去服務器一看誒,小夥子是老客戶啊

遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!

有登錄過直接返回數據給他吧在服務中還可以設置 Cookie 的有效時間也就是說當你下次攜帶一個過期了的 Cookie 給服務器的時候服務器雖然知道你是老客戶但是還是需要你重新再登錄一次然後再給你一個有效的 CookieCookie 的時長週期是服務器那邊定的ok瞭解了這一點之後我們就來玩一下吧我們以「逼乎」為例

https://biihu.cc/account/login/輸入地址之後按一下 F12點擊 network 標籤然後登錄你的帳號然後點擊其中一個你就可以看到在 Request Headers 有你的 Cookie

遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!

有了 Cookie 之後我們在代碼中直接獲取我的個人信息

<code>import requests
headers = {
# 假裝自己是瀏覽器
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/73.0.3683.75 Chrome/73.0.3683.75 Safari/537.36',
# 把你剛剛拿到的Cookie塞進來
'Cookie': 'eda38d470a662ef3606390ac3b84b86f9; Hm_lvt_f1d3b035c559e31c390733e79e080736=1553503899; biihu__user_login=omvZVatKKSlcXbJGmXXew9BmqediJ4lzNoYGzLQjTR%2Fjw1wOz3o4lIacanmcNncX1PsRne5tXpE9r1sqrkdhAYQrugGVfaBICYp8BAQ7yBKnMpAwicq7pZgQ2pg38ZzFyEZVUvOvFHYj3cChZFEWqQ%3D%3D; Hm_lpvt_f1d3b035c559e31c390733e79e080736=1553505597',

}
session = requests.Session()
response = session.get('https://biihu.cc/people/wistbean%E7%9C%9F%E7%89%B9%E4%B9%88%E5%B8%85', headers=headers)
print(response.text)/<code>

運行後可以發現不用登錄就可以直接拿到自己的個人信息了

<code>







/<code>

第二招

遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!

表單請求大法很簡單就是通過抓包獲取請求登錄的時候需要用到的用戶名密碼參數然後以表單的形式請求服務器如果你細心一點的話應該會知道之前說過拉具體在這去看下我就不多說了第三招

遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!

Selenium 自動登錄法獲取到兩個輸入框的元素再獲取到登錄按鈕往輸入框寫你的帳號密碼然後自動點擊一下登錄

<code>username = WAIT.until(EC.presence_of_element_located((By.CSS_SELECTOR, "帳號的selector")))
password = WAIT.until(EC.presence_of_element_located((By.CSS_SELECTOR, "密碼的selector")))
submit = WAIT.until(EC.element_to_be_clickable((By.XPATH, '按鈕的xpath')))
username.send_keys('你的帳號')
password.send_keys('你的密碼')
submit.click()/<code>

登錄完之後拿到 Cookie

<code>cookies = webdriver.get_cookies()/<code>

有了 Cookie 你就可以拿到你想要的數據了ok以上這三招希望對你有幫助


如果你對Python編程感興趣,那麼記得私信小編“學習”領取全套Python資料哦。

遇到需要的登錄的網站怎麼辦?學好python,用這3招輕鬆搞定!


分享到:


相關文章: