chromedriver配置與使用
將下載的chromedriver.exe放到Google瀏覽器的安裝目錄下
如果配置不成功,重啟一下電腦試試。
python爬蟲 selenium 抓取 今日頭條(ajax非同步載入)
路徑引數:
executable_path=”C:\Program Files (x86)\Google\Chrome\Application\chromedriver”
from selenium import webdriver
from lxml import etree
from pyquery import PyQuery as pq
import time
driver = webdriver.Chrome(executable_path="C:\Program Files (x86)\Google\Chrome\Application\chromedriver" )
driver.maximize_window()
driver.get('https://www.toutiao.com/')
driver.implicitly_wait(10)
driver.find_element_by_link_text('科技').click()
driver.implicitly_wait(10)
for x in range(3):
js = "var q=document.documentElement.scrollTop="+str(x*500)
driver.execute_script(js)
time.sleep(2)
time.sleep(5 )
page = driver.page_source
doc = pq(page)
doc = etree.HTML(str(doc))
contents = doc.xpath('//div[@class="wcommonFeed"]/ul/li')
print(contents)
for x in contents:
title = x.xpath('div/div[1]/div/div[1]/a/text()')
if title:
title = title[0]
with open('toutiao.txt', 'a+', encoding='utf8' )as f:
f.write(title+'\n')
print(title)
else:
pass
執行之後,谷歌瀏覽器會自動開啟,並進入今日頭條頁面,如下:
當我們要進入具體的新聞頁面時,需要每一次都開啟一個chrome頁面,會使得電腦變卡,我們希望不要每次都開啟頁面,這時,我們可以在每次訪問網頁的時候 driver.close() 或者使用無介面方法。
selenium無介面chromedriver參考如下:
另一個安裝參考部落格,未驗證過
1. 首先需要下載chromeDriver.
http://chromedriver.storage.googleapis.com/index.html
2. 將下載好的檔案解壓,將chromedriver.exe拷貝到chrome根目錄,一般是在appication目錄下
3.可以使用chromeDriver了,如果把chromedriver拷貝到專案根目錄就不需要setProperty了,但是我是放到了Chrome根目錄下,所以要設定驅動路徑。
System.setProperty(“webdriver.chrome.driver”,”C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe”);
WebDriver driver=new ChromeDriver(); //初始化瀏覽器
4.以上三步後,其實就可以直接進入指令碼的編寫了。