在macbook pro下如何使用selenium模擬瀏覽器爬取數據(包含webdriver放到path路徑下的方法)

最開始試了好多方法把webdriver放到path路徑下但是都有問題,找不到他們所說的什麼:/user/bin。真的不知道他們是怎麼弄的。所以,找了好多方法。最後自己將路徑獲取就行了:


path = "chromedriver的路徑"
driver = webdriver.Chrome(path)

 

ps:  如何獲取chromedriver的路徑:下載chromedriver後在finder中打開,在將文件拖到終端,就可出現路徑,然後直接複製路徑,替換到     chromedriver的路徑     這幾個字的位子就可以了。

下面是我爬取“去哪兒”的代碼:

from selenium import webdriver
#實現等待需要用到下面 3 個庫,By 庫用於指定 HTML 文件中 DOM 標籤元素(添加和刪除節點(HTML 元素)), 
#WebDriverWait 庫用於等待網頁加載完成,
#expected_conditions 庫(下面用 as EC 給這個庫 起了個簡稱)用於指定等待網頁加載結束的條件。
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

dep = '上海'
query='麗江'
path = "/Users/zhangxin/Downloads/DataAT/chromedriver.exe"
driver = webdriver.Chrome(path)
driver.get("https://fh.dujia.qunar.com/?tf=package")

#訪問二級標籤
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "depCity")))


driver.find_element_by_xpath("//*[@id='depCity']").clear()
driver.find_element_by_xpath("//*[@id='depCity']").send_keys(dep)
driver.find_element_by_xpath("//*[@id='arrCity']").send_keys(query)
driver.find_element_by_xpath("/html/body/div[2]/div[1]/div[2]/div[3]/div/div[2]/div/a").click()

import time

#循環10次
for _ in range(2):
    time.sleep(20)
    routes = driver.find_elements_by_xpath('//*[@id="list"]/div/div[2]/h4/a')
    #//*[@id="list"]/div[1]/div[2]/h4/a
    #//*[@id="list"]/div[2]/div[2]/h4/a
    #//*[@id="list"]/div[1]/div[2]/h4/a
    for route in routes:
        print(route.text)
        
    #抓取下一頁
    driver.find_element_by_xpath('//*[@id="hozFilter"]/div/div[3]/a[2]').click()

#---------------下面是結果----------------

Out:

上海-麗江3天2晚 | 入住麗江法文苑客棧 + 首都航空往返機票
上海-麗江3天2晚 | 入住麗江·晴初閣客棧 + 首都航空往返機票
上海-麗江3天2晚 | 入住麗江賽拉維客棧 + 首都航空往返機票
上海-麗江3天2晚 | 入住麗江雲上公館 + 首都航空往返機票
上海-麗江3天2晚 | 入住麗江翁家大院 + 首都航空往返機票
上海-麗江3天2晚 | 入住麗江山水桃源客棧 + 首都航空往返機票
上海-麗江3天2晚 | 入住麗江灼華苑精品客棧 + 首都航空往返機票
上海-麗江3天2晚 | 入住麗江麗人居客棧 + 首都航空往返機票
上海-麗江3天2晚 | 入住麗江李家院精品客棧 + 首都航空往返機票
上海-麗江3天2晚 | 入住麗江法文苑客棧 + 首都航空/吉祥航空往返機票
上海-麗江3天2晚 | 入住麗江文華廿六度假民宿 + 首都航空/吉祥航空往返機票
上海-麗江3天2晚 | 入住麗江花間堂·聽荷院 + 首都航空/吉祥航空往返機票
上海-麗江3天2晚 | 入住麗江花間堂·青塵院 + 首都航空/吉祥航空往返機票
上海-麗江3天2晚 | 入住麗江海映朗廷假日大酒店 + 首都航空/吉祥航空往返機票
上海-麗江3天2晚 | 入住麗江悅榕莊 + 首都航空/吉祥航空往返機票
上海-麗江3天2晚 | 入住麗江大研安縵酒店 + 首都航空/吉祥航空往返機票
上海-麗江3天2晚 | 入住麗江圓明商務酒店 + 首都航空/吉祥航空往返機票
上海-麗江3天2晚 | 入住麗江錦匯酒店 + 首都航空/吉祥航空往返機票
上海-麗江3天2晚 | 入住麗江蘭燕賓館 + 首都航空/吉祥航空往返機票
上海-麗江3天2晚 | 入住麗江凱鑫商務酒店 + 首都航空/吉祥航空往返機票
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章