Python爬蟲常用之登入 二 瀏覽器模擬登入

2022-03-17 03:21:21 字數 2404 閱讀 9691

瀏覽器模擬登入的主要技術點在於:

1.如何使用python的瀏覽器操作工具selenium

2.簡單看一下網頁,找到帳號密碼對應的框框,要知道python開啟的瀏覽器如何定位到這些

一、使用selenium開啟網頁

from selenium import

webdriver

url = '

'driver =webdriver.firefox()

driver.get(url)

以上幾句執行便可以開啟的登入介面,開啟瀏覽器可能較慢,耐心等一下.

二、找到帳號密碼對應的頁面元素

瀏覽器開啟頁面,點選f12,按上圖步驟,找到了使用者名稱的id"input1",同理找到密碼的id,找到後發現是"input2".

三、將自己的使用者名稱和密碼填入selenium開啟的瀏覽器

使用find_element_by_id方法找到元素,再使用send_keys方法傳入引數,最後使用click方法點選登入按鈕即可.

成品**有如下幾句:

#

/usr/bin/python

#encoding: utf-8

import

time

from selenium import

webdriver

deflogin(username, password):

#url = '' # 使用這個url登入成功後定位到園子

url中指明定位到首頁

driver =webdriver.firefox()

driver.get(url)

#print driver.title

name_input = driver.find_element_by_id('

input1

') #

找到使用者名稱的框框

pass_input = driver.find_element_by_id('

input2

') #

找到輸入密碼的框框

login_button = driver.find_element_by_id('

signin

') #

找到登入按鈕

name_input.clear()

name_input.send_keys(username)

#填寫使用者名稱

time.sleep(0.2)

pass_input.clear()

pass_input.send_keys(password)

#填寫密碼

time.sleep(0.2)

login_button.click()

#點選登入

time.sleep(0.2)

print

driver.get_cookies()

time.sleep(2)

print

driver.title

driver.close()

if__name__ == "

__main__":

user = "

masako

"pw = "*****

"login(user, pw)

使用time模組sleep主要是為了控制操作速度,防止被認為是機械人,比較符合現實的情況應該隨機sleep時間.

上述**執行之後(注意將使用者名稱密碼換成自己的),可以看到開啟了瀏覽器,並自動填寫了帳號密碼,自動點選登入,成功後跳轉,然後自動關閉瀏覽器.

本地可以看到列印了乙份cookie和乙個標題" - 開發者的網上家園".

如果登入失敗,列印的標題會是"使用者登入 - ".

如果報錯,未開啟瀏覽器,多半是沒有安裝geckodriver.

上述**會開啟瀏覽器介面,若不想看到介面,可採用以下手段:

if

__name__ == "

__main__":

from pyvirtualdisplay import

display

display = display(visible=0, size=(1366, 768))

display.start()

user = "

masako

"pw = "*****

"login(user, pw)

display.stop()

在呼叫瀏覽器的時候使用display包裹,並將dispaly設定為不可見(visible=0)

python爬蟲常用之Scrapy 中介軟體

一 概述 1.中介軟體的作用 在scrapy執行的整個過程中,對scrapy框架執行的某些步驟做一些適配自己專案的動作.例如scrapy內建的httperrormiddleware,可以在http請求出錯時做一些處理.2.中介軟體的使用方法 配置settings.py.詳見scrapy文件 二 中介...

python爬蟲免登入 爬蟲使用cookie免登陸

由於前程無憂上崗位投遞記錄只保留兩個月,想記錄下。程式 放在github 對於怎麼獲取登陸後的頁面,有兩種思路使用賬號,密碼登陸,如果該 登陸系統簡單的話,沒有驗證碼啥的,有驗證碼的話,可以使用圖形識別庫 使用cookie繞過登陸頁面cookie cookie 複數形態cookies 中文名稱為 小...

python爬蟲模擬登入網頁 登入wish

wish登入頁面 是js寫的,在上面找登入鏈結很麻煩,直接故意寫錯登入賬號和密碼 獲得登入鏈結 上 import requests url1 url2 header 8或者不指定。data 獲得post請求的session物件 sesssion requests.session sesssion.p...