Python爬蟲從入門到放棄 11 | Python爬蟲實戰–利用自動化神器Selenium爬取京東商品

此博客僅爲我業餘記錄文章所用,發佈到此,僅供網友閱讀參考,如有侵權,請通知我,我會刪掉。
本文章純野生,無任何借鑑他人文章及抄襲等。堅持原創!!

前言

你好。這裏是Python爬蟲從入門到放棄系列文章。我是SunriseCai。

結合視頻食用,味道更佳。

Selenium爬取京東商城商品信息:https://www.bilibili.com/video/BV1Ka4y1i7Pz?p=4


本文章主要介紹利用Selenium爬蟲程序去 獲取京東商城的商品。

百度百科:Selenium

在這裏插入圖片描述
藉助Selenium可以很方便的進行一些模擬的人爲的瀏覽器操作。
用人話說就是,selenium會驅動瀏覽器去執行你的命令。

首先,建議移步官方文檔進行系統的學習SeleniumSelenium官方文檔
Selenium有很多知識,還請各位參考官方文檔去進行系統的學習。

1. 安裝Selenium

電腦配置selenium運行環境只需要三步:

  1. 安裝selenium模塊
  2. 下載webdriver驅動
  3. 配置環境變量

1.1 安裝selenium模塊

  • 安裝Selenium模塊。

pip install selenium

1.2 下載webdriver驅動

  • 下載一個與瀏覽器對應的webdriver驅動,本文章用chrome做演示。
瀏覽器
Chrome http://npm.taobao.org/mirrors/chromedriver/
Edge https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
加粗樣式 https://github.com/mozilla/geckodriver/releases
Safari https://webkit.org/blog/6900/webdriver-support-in-safari-10/
  • 看到我的chrome版本爲80.0.3987.149
    在這裏插入圖片描述
  • webdriver下載頁面這裏,找到對應chrome版本的驅動下載即可。(只要版本號前面匹配了就可以,不必所有都一樣)
    在這裏插入圖片描述

1.3 配置環境變量

配置環境變量有兩種方法:

  1. 放到 Python安裝目錄下的Scripts文件夾裏邊;
  2. 執行時候指定webdriver驅動的路徑。

(1)放到 Python安裝目錄下的Scripts文件夾裏邊
在這裏插入圖片描述


(2)執行時候指定webdriver驅動的路徑。

例如我將chromedriver.exe驅動放在F盤的根目錄下,那在執行selenium時候可以用executable_path指定webdriver驅動。

from selenium import webdriver

url = 'http://www.baidu.com'
browser = webdriver.Chrome(executable_path=r'F:\chromedriver.exe')
browser.get(url)

1.4 selenium簡單示例

還是上面的代碼,用百度來做示例。

from selenium import webdriver

url = 'http://www.baidu.com'
browser = webdriver.Chrome(executable_path=r'F:\chromedriver.exe')	# 創建一個谷歌瀏覽器對象	
browser.get(url)	# 請求url
browser.save_screenshot('baidu.jpg')	# 截圖

browser.quit()				# 退出瀏覽器對象

代碼執行後,會發現本地文件夾下多了一個名爲baidu.jpg的圖片,看下圖。
在這裏插入圖片描述

2. 分析京東商城頁面

2.1 分析頁面

打開首頁,在搜索框輸入需要搜索的商品。然後點擊搜索
這裏以口罩商品做演示。
在這裏插入圖片描述
獲取搜索框的xpath表達式,如下圖:
在這裏插入圖片描述
代碼如下:

from selenium import webdriver

class JdSpider(object):
    def __init__(self):
        self.url = 'https://www.jd.com/'
        options = webdriver.ChromeOptions()
        options.add_argument("--start-maximized")  # 最大化運行窗口 可不添加
        self.browser = webdriver.Chrome(executable_path=r'F:\chromedriver.exe', options=options)

    def __del__(self):
        self.browser.close()

    def search_goods(self):
        self.browser.get(self.url)
        self.browser.find_element_by_xpath('//*[@id="key"]').send_keys('口罩')			# 輸入內容
        self.browser.find_element_by_xpath('//*[@id="search"]/div/div[2]/button').click()	# 模擬點擊按鈕

if __name__ == '__main__':
    spider = JdSpider()
    spider.search_goods()

運行代碼的結果如下:
在這裏插入圖片描述

2.2 需要提取的數據

接下來需要提取的內容就就是價格商品名稱評價人數店鋪名
在這裏插入圖片描述

後續的部分就不再解析了,剩點作業吧!!!

3. 完整代碼

完整代碼可以參考該博文,python爬蟲入門 ✦ selenium 爬取京東的所有商品信息 – 點擊直達,沒錯,也是我水的博文。


  • 有任何疑問請先自己動手解決,盡信書則不如無書。
  • 實在解決不了可以一起交流。

最後來總結一下本章的內容:

  1. 介紹了Selenium的安裝和配置環境等;
  2. 介紹了Selenium的簡單示例等;
  3. 介紹了利用Selenium爬蟲程序下載京東商城的商品信息。

sunrisecai

  • 感謝你的耐心觀看,點關注,不迷路。
  • 爲方便菜雞互啄,歡迎加入QQ羣組織:648696280

下一篇文章,名爲 《Python爬蟲從入門到放棄 12 | 結語》

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章