您好,登錄后才能下訂單哦!
本篇文章為大家展示了怎么在python中使用selenium實現一個網絡爬蟲,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
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()]
3.建立點擊事件
因為有些網站的需求,需建立點擊事件,
如下圖的這種時間選擇,需要設置點擊和輸入內容,設置的方法也很簡單。
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。
# 有兩個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實現一個網絡爬蟲,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。