編程學習網 > 編程語言 > Python > Python之selenium實現網頁自動化和自動爬蟲教程
2023
07-25

Python之selenium實現網頁自動化和自動爬蟲教程

一、python環境與selenium環境安裝

二、搜索商品后點擊搜索按鈕提交
三、元素定位,找到對應信息,并保存
四、結果預覽與總結
舉例某購物網站,通過selenium與python,實現主頁上商品的搜索,并將信息爬蟲保存至本地excel表內。
一、python環境與selenium環境安裝
python在官網下載并安裝并且設置環境變量。
selenium通過命令行下,pip install selenium進行安裝,python與selenium都建議使用3.0版本
這里使用chrome瀏覽器,下載chrome對應版本的webdrver驅動,將webdriver驅動放在python根目錄下。

chrome瀏覽器的版本通過這個方法查詢:幫助-關于Google Chrome(G)

二、搜索商品后點擊搜索按鈕提交

這里需要用到selenium庫、time庫(其中sleep用于等待)以及xlwt(用于保存excel表)

 1 from selenium import  webdriver
 2 from time import sleep
 3 import xlwt
 4 #打開瀏覽器,這里用的chrome
 5 d=webdriver.Chrome()
 6 #設置窗口最大化
 7 d.maximize_window()
 8 #設置隱式等待
 9 d.implicitly_wait(30)
10 #打開網頁
11 d.get("https://www.jd.com/")
12 #使用元素定位id找到搜索框
13 d.find_element_by_id("key").send_keys("洗發水")
14 #使用xpath定位到搜索按鈕
15 d.find_element_by_xpath("/html/body/div[1]/div[4]/div/div[2]/div/div[2]/button").clic

三、元素定位,找到對應信息,并保存

  1 #初始化excel表

 2 excel=xlwt.Workbook(encoding="utf-8")
 3 #增加sheet頁
 4 sheet=excel.add_sheet("sheet1",cell_overwrite_ok=True)
 5 #定義第1行的內容,以及初始化num,用于從第二行開始寫入對應的數據
 6 sheet.write(0,0,'序號')
 7 sheet.write(0,1,'商品')
 8 sheet.write(0,2,'價格')
 9 num=1
10 #通過元素定位面找到,在頁面上找到對應商品的各個元素位置
11 goods=d.find_elements_by_xpath("/html/body/div[6]/div[2]/div[2]/div[1]/div/div[2]/ul/li")
12 sleep(5)
13 for good in goods:
14     #分別找到商品與價格所在的元素,并且取其中的文本信息,并去空行
15     price=good.find_element_by_xpath("div/div[3]/strong").text.replace("\n","-")
16     goodtext=good.find_element_by_xpath("div/div[4]/a/em").text.replace("\n","-")
17     sheet.write(num,0,num)
18     sheet.write(num,1,goodtext)
19     sheet.write(num,2,price)
20     num+=1
21     #print(goodtext,"|",price)
22 #保存至excel表
23 excel.save(r"C:\Users\Mr.White\Desktop\test001\jd.xls")
24 #頁面退出
25 d.quit()
 
 四、結果預覽與總結


1、網頁自動化過程中最主要的難度是元素定位,后面會專門去介紹一下元素定位
2、頁面可能隨著前端代碼的變化,會使原本可以跑通的腳本失效,有一定維護成本,如何設計合理的自動化腳本就顯得比較重要。

以上就是Python之selenium實現網頁自動化和自動爬蟲教程的詳細內容,想要了解更多Python教程歡迎持續關注編程學習網。

掃碼二維碼 獲取免費視頻學習資料

Python編程學習

查 看2022高級編程視頻教程免費獲取