本文借鑑於:
原理:我們使用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...