繞過驗證碼登陸的方法(適合只需登陸一次可以記住登陸台的網站)


selenium獲取cookies

1.大前提:先手工操作瀏覽器,登錄我的博客,並記住密碼
(保證關掉瀏覽器后,下次打開瀏覽器訪問我的博客時候是登錄狀態)
2.selenium默認啟動瀏覽器是一個空的配置,默認不加載配置緩存文件,這里先得找到對應瀏覽器的配置文件地址,以火狐瀏覽器為例
3.使用driver.get_cookies()方法獲取瀏覽器的cookies

# coding:utf-8 import requests from selenium import webdriver from bs4 import BeautifulSoup import re import time # firefox瀏覽器配置文件地址 profile_directory = r'C:\Users\admin\AppData\Roaming\Mozilla\Firefox\Profiles\yn80ouvt.default' # 加載配置 profile = webdriver.FirefoxProfile(profile_directory) # 啟動瀏覽器配置 driver = webdriver.Firefox(profile) driver.get("https://home.cnblogs.com/u/yoyoketang/followers/") time.sleep(3) cookies = driver.get_cookies() # 獲取瀏覽器cookies print(cookies) driver.quit()

(注:要是這里腳本啟動瀏覽器后,打開的博客頁面是未登錄的,后面內容都不用看了,先檢查配置文件是不是寫錯了)

requests添加登錄的cookies

1.瀏覽器的cookies獲取到后,接下來用requests去建一個session,在session里添加登錄成功后的cookies

s = requests.session()  # 新建session # 添加cookies到CookieJar c = requests.cookies.RequestsCookieJar() for i in cookies: c.set(i["name"], i['value']) s.cookies.update(c) # 更新session里cookies

計算粉絲數和分頁總數

1.由於我的粉絲的數據是分頁展示的,這里一次只能請求到45個,所以先獲取粉絲總數,然后計算出總的頁數

# 發請求 r1 = s.get("https://home.cnblogs.com/u/yoyoketang/relation/followers")

參考: https://www.cnblogs.com/yoyoketang/p/8610779.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM