中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在python中使用selenium實現一個網絡爬蟲

發布時間:2021-03-11 15:01:09 來源:億速云 閱讀:194 作者:Leah 欄目:開發技術

本篇文章為大家展示了怎么在python中使用selenium實現一個網絡爬蟲,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

Python主要用來做什么

Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。

1.selenium初始化

方法一:會打開網頁

# 該方法會打開goole網頁
from selenium import webdriver
url = '網址'
driver = webdriver.Chrome()
driver.get(url)
driver.maximize_window() # 實現窗口最大化

方法二:不會打開網頁

# 該方法會隱式打開goole網頁
from selenium import webdriver
url = '網址'
driver = webdriver.ChromeOptions()
driver.add_argument("headless")
driver = webdriver.Chrome(options=driver)
driver.get(url)

driver = webdriver.Chrome()出錯是因為沒有chromedriver.exe這個文件

2.元素定位

在selenium中,可以有多種方法對元素進行定位,個人通常喜歡用Xpath和selector來定位元素,這樣就不用一個一個的去找節點,直接在網頁上定位到元素復制就行。

driver.find_element_by_id() # 通過元素ID定位
driver.find_element_by_name() # 通過元素Name定位
driver.find_element_by_class_name() # 通過類名定位
driver.find_element_by_tag_name() # 通過元素TagName定位
driver.find_element_by_link_text() # 通過文本內容定位
driver.find_element_by_partial_link_text()
driver.find_element_by_xpath() # 通過Xpath語法定位
driver.find_element_by_css_selector() # 通過選擇器定位

注:若尋找多個元素,要記得用復數來選擇(element改為elements)

# 例如
[i.text for i in driver.find_elements_by_xpath()]

怎么在python中使用selenium實現一個網絡爬蟲

3.建立點擊事件

因為有些網站的需求,需建立點擊事件,
如下圖的這種時間選擇,需要設置點擊和輸入內容,設置的方法也很簡單。

怎么在python中使用selenium實現一個網絡爬蟲

driver.find_element_by_css_selector('').click() # 點擊
driver.find_element_by_css_selector('').send_keys('2021-3-9') # 輸入內容

4.切換窗口

有些網站點擊之后會產生新窗口,這時就需要進行窗口的切換才能進行元素定位

win = driver.window_handles # 獲取當前瀏覽器的所有窗口
driver.switch_to.window(win[-1]) # 切換到最后打開的窗口
driver.close() # 關閉當前窗口
driver.switch_to.window(win[0]) # 切換到最初的窗口

5.iframe問題

有些網站會采用iframe來編寫頁面,這時就需要進入到iframe才可以獲取元素,一般有多少個iframe就需要進入多少個iframe。

怎么在python中使用selenium實現一個網絡爬蟲

# 有兩個iframe,需逐步進入
iframe1 = driver.find_element_by_xpath('')
driver.switch_to.frame(iframe1)
iframe2 = driver.find_element_by_xpath('')
driver.switch_to.frame(iframe2)

上述內容就是怎么在python中使用selenium實現一個網絡爬蟲,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

雷波县| 龙山县| 伊金霍洛旗| 诸暨市| 临洮县| 门源| 南木林县| 吉隆县| 修水县| 景谷| 茶陵县| 河曲县| 林州市| 唐山市| 神农架林区| 法库县| 广元市| 平罗县| 石景山区| 邹城市| 乐东| 喀喇| 临海市| 枣阳市| 黄冈市| 平顶山市| 罗定市| 钟祥市| 咸宁市| 勃利县| 永吉县| 集贤县| 石柱| 威信县| 天峨县| 辽源市| 盐城市| 灵台县| 平阴县| 寻甸| 通化县|