此博客僅爲我業餘記錄文章所用,發佈到此,僅供網友閱讀參考,如有侵權,請通知我,我會刪掉。
本文章純野生,無任何借鑑他人文章及抄襲等。堅持原創!!
前言
你好。這裏是Python爬蟲從入門到放棄系列文章。我是SunriseCai。
結合視頻食用,味道更佳。
Selenium爬取京東商城商品信息:https://www.bilibili.com/video/BV1Ka4y1i7Pz?p=4
本文章主要介紹利用Selenium爬蟲程序去 獲取京東商城的商品。
藉助Selenium
可以很方便的進行一些模擬的人爲的瀏覽器操作。
用人話說就是,selenium會驅動瀏覽器去執行你的命令。
首先,建議移步官方文檔進行系統的學習Selenium
,Selenium官方文檔
Selenium
有很多知識,還請各位參考官方文檔去進行系統的學習。
1. 安裝Selenium
電腦配置selenium
運行環境只需要三步:
- 安裝
selenium
模塊 - 下載
webdriver
驅動 - 配置環境變量
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 配置環境變量
配置環境變量有兩種方法:
- 放到 Python安裝目錄下的Scripts文件夾裏邊;
- 執行時候指定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 爬取京東的所有商品信息
– 點擊直達,沒錯,也是我水的博文。
- 有任何疑問請先自己動手解決,盡信書則不如無書。
- 實在解決不了可以一起交流。
最後來總結一下本章的內容:
- 介紹了Selenium的安裝和配置環境等;
- 介紹了Selenium的簡單示例等;
- 介紹了利用Selenium爬蟲程序下載京東商城的商品信息。
- 感謝你的耐心觀看,點關注,不迷路。
- 爲方便菜雞互啄,歡迎加入QQ羣組織:648696280
下一篇文章,名爲 《Python爬蟲從入門到放棄 12 | 結語》。