Python3使用selenium庫簡單爬蟲(二)
阿新 • • 發佈:2018-12-10
使用selenium爬取豆瓣圖書top250書籍資訊
1、上一篇文章Python3使用selenium庫簡單爬蟲(一)通過元素的id、name、class_name定位元素,這次使用xpath定位元素
(1)使用xpath定位元素的幾種表示方法:
* 匹配任意元素
//*[@id='kw'] 匹配任意id='kw'的元素
//*[@class='s_ipt'] 匹配任意class='s_ipt'的元素
//input[@class='s_ipt'] 匹配input標籤下class='s_ipt'的元素
2、定位元素過程中注意因為有很多條資訊,所以是find_elements
3、time sleep() 函式推遲呼叫執行緒的執行,5表示推遲執行5秒,因為頁面的載入需要時間,如果點選下一頁以後立刻開始定位元素,而那個時候元素還沒有載入完成,那麼程式就容易報錯。
#! usr/bin/env python #coding:utf-8 from selenium import webdriver from selenium.webdriver.common.by import By import time #開啟谷歌瀏覽器訪問豆瓣圖書top250官網 browser = webdriver.Chrome("C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe") browser.get('https://book.douban.com/top250') for i in range(0,10): # 得到標題 title = browser.find_element_by_xpath("//div[@id='content']//h1").text # 列印標題 print(title) # 獲取當前頁面有關圖書資訊的元素物件的列表 book_list = browser.find_elements_by_xpath("//tr[@class='item']") for ele in book_list: print(ele.text + '\n') # 輸出當前頁數 print("--------第%s頁--------"%(i+1)) # 訪問下一頁 next_page = browser.find_element_by_class_name("next").click() time.sleep(5) print('\n') browser.quit()