selenium在爬蟲中的應用之動態資料爬取

2022-05-26 20:18:10 字數 1643 閱讀 4354

一、selenium概念

selenium 是乙個基於瀏覽器自動化的模組

selenium爬蟲之間的關聯:

1.便捷的獲取動態載入的資料

2.實現模擬登入

基本使用

pip install selenium

獲取瀏覽器的驅動程式

selenium基本使用

from selenium import

webdriver

from time import

sleep

#例項化乙個瀏覽器物件

bro = webdriver.chrome(executable_path='

./chromedriver.exe')

#傳送請求

bro.get('

')sleep(2)

#定位標籤

search_tag = bro.find_elements_by_xpath('

//*[@id="key"]

')[0]

search_tag.send_keys(

'mac pro')

#定位搜尋按鈕

btn = bro.find_element_by_xpath('

//*[@id="search"]/div/div[2]/button')

btn.click()

#js注入

bro.execute_script('

window.scrollto(0,document.body.scrollheight)')

sleep(3)

bro.quit()

基於selenium爬取動態載入的資料

from selenium import

webdriver

from time import

sleep

from lxml import

etree

#例項化乙個瀏覽器物件

bro = webdriver.chrome(executable_path='

./chromedriver.exe')

bro.get(

'')sleep(1)

#當前瀏覽器顯示對應的所有的頁面資料

page_text =bro.page_source

all_page_text =[page_text]

for i in range(1,4):

next_page_tag = bro.find_element_by_xpath('

//*[@id="pageito_next"]')

next_page_tag.click()

sleep(1)

for page_text in

all_page_text:

tree =etree.html(page_text)

li_list = tree.xpath('

//*[@id="gzlist"]/li')

for li in

li_list:

title = li.xpath('

./dl/a/text()')

print

(title)

sleep(3)

bro.quit()

sikuli在selenium的應用

1.sikuli簡介 sikuli 指令碼自動化技術,它通過影象識別技術來控制不能通過xpath css來識別的元素。2.我的硬體環境 pc 64位 jdk 1.8.0 25 sikuli 1.1.1 經驗證,該環境也能支援sikuli。pom.xml細節 org.sikuli sikuli cor...

XPath在python爬蟲中的高階應用

xpath在python的爬蟲學習中,起著舉足輕重的地位,對比正規表示式 re兩者可以完成同樣的工作,實現的功能也差不多,但xpath明顯比re具有優勢,在網頁分析上使re退居二線。xpath介紹 是什麼?全稱為xml path language 一種小型的查詢語言 說道xpath是門語言,不得不說...

JS在Selenium中的使用

前言 做web自動化時,一般可利用selenium定位頁面元素進行如click,sendkeys類的操作。但也常遇到api沒有呼叫錯,卻無 法定位到元素,或者,無法進行操作。fortunately,selenium提供了操作js的方法 execute script 可以直接執行js的指令碼。常用的j...