模擬登入知乎 利用selenium接管瀏覽器

2021-09-28 15:46:23 字數 2486 閱讀 6711

本文借鑑於:

原理:我們使用selenium中的webdirver開啟的瀏覽器沒有瀏覽器記錄,也就是最純淨的瀏覽器,所以也不會攜帶cookie之類的資訊,但是我們使用selenium接管瀏覽器時,建立的瀏覽器時copy原來的瀏覽器配置檔案,瀏覽器記錄也會被copy,所以他會帶上cookie資訊

此次模擬登入的重點是會使用selenium接管瀏覽器:

chrome.exe -

-remote-debugging-port=

9222

--user-data-

dir=

"c:\selenum\automationprofile"

#--remote-debugging-port,我們可以隨意指定開啟的埠

#-user-data-dir,這個是指定建立chrome配置檔案的目錄,為了確保在單獨的配置檔案中啟動chrome,不會汙染你的預設配置檔案

#一定將chrome.exe的路徑新增到環境變數中

我們先使用命令列,輸入上述命令,會出現乙個瀏覽器,現在我們需要接管這個瀏覽器,

from selenium import webdriver

from selenium.webdriver.chrome.options import options

import time

chrome_options = options(

)chrome_options.add_experimental_option(

"debuggeraddress"

,"127.0.0.1:9222"

)browser = webdriver.chrome(chrome_options=chrome_options)

然後將接管瀏覽器中的登入知乎**補充完整就可以實現整個功能

import time

browser.get(

"")time.sleep(3)

password_login = browser.find_element_by_xpath(

".//div[@class='signflow-tab']"

)password_login.click(

)phone = browser.find_element_by_xpath(

".//input[@name='username']"

)password = browser.find_element_by_xpath(

".//input[@name='password']"

)phone.send_keys(

"知乎賬號"

)password.send_keys(

"知乎密碼"

)login = browser.find_element_by_xpath(

".//button[@class='button signflow-submitbutton button--primary button--blue']"

)login.click(

)

完整**:

from selenium import webdriver

from selenium.webdriver.chrome.options import options

import time

chrome_options = options(

)chrome_options.add_experimental_option(

"debuggeraddress"

,"127.0.0.1:9222"

)browser = webdriver.chrome(chrome_options=chrome_options)

browser.get(

"")time.sleep(3)

password_login = browser.find_element_by_xpath(

".//div[@class='signflow-tab']"

)password_login.click(

)phone = browser.find_element_by_xpath(

".//input[@name='username']"

)password = browser.find_element_by_xpath(

".//input[@name='password']"

)phone.send_keys(

"知乎賬號"

)password.send_keys(

"知乎密碼"

)login = browser.find_element_by_xpath(

".//button[@class='button signflow-submitbutton button--primary button--blue']"

)login.click(

)

利用scrapy模擬登入知乎

閒來無事,寫乙個模擬登入知乎的小demo。分析網頁發現 登入需要的手機號,密碼,xsrf引數,驗證碼 實現思路 1 獲取驗證碼 2 獲取 xsrf 引數 3 攜帶引數,請求登入 驗證碼url format t t t 為時間戳 登入介面url 手機登入申請url 實現 首先配置檔案 settings...

Scrapy模擬登入知乎

scrapy startproject zhihu login scrapy genspider zhihu www.zhihu.com coding utf 8 import scrapy class zhihuspider scrapy.spider name zhihu allowed dom...

Scrapy 登入知乎

需要先建立乙個scrapy專案,然後建立乙個testspider 按照需要修改items 然後開始修改testspider的內容,中都有注釋,不作贅述 coding utf 8 import scrapy import os import time mode 1 tencent 2 free mod...