爬蟲selenium教程


'''
在爬取某些網站時有js加載的信息時,主要是js拼接的操作,
可以通過selenium來進行拼接,可以節省大量的破解JS還原操作的時間,
大大節省成本;

安裝selenium:
pip install Selenium

安裝chromedriver:

查看當前瀏覽器版本
輸入chrome://help/ 可以看到“版本 68.0.3440.106(正式版本) (32 位)”字樣


查看版本對應的驅動(翻牆摸摸噠)
https://sites.google.com/a/chromium.org/chromedriver/downloads

找到對應的驅動版本點擊進去,選擇下載

#https://chromedriver.storage.googleapis.com/index.html 所有版本庫的下載鏈接

對於window版本:(舉例)
直接解壓出里面的文件放到"C:/chromedriver"下,
將該路徑配置到環境變量中。
否則會報“selenium.common.exceptions.WebDriverException”的錯誤


>>> from selenium import webdriver

#頭三行可以不啟動瀏覽器提升速度
>>> option = webdriver.ChromeOptions()
>>> option.add_argument("headless")
>>> driver = webdriver.Chrome(chrome_options=option)

>>> driver.get("https://www.zymk.cn/2446/145198.html")
>>> driver.page_source#返回JS渲染過后網頁源代碼


#對於一些JS要一邊滑行一邊加載的情況我用以下方法來實現滑動動作。

>>> from selenium import webdriver

>>> from selenium.webdriver.common.action_chains import ActionChains #


>>> driver = webdriver.Chrome()

>>> driver.get("https://ac.qq.com/ComicView/index/id/629846/cid/1")

#到這里我們發現該網站是要滑動瀏覽器的滾動條來觸發js對圖片一個個進行加載,
#我們下面做個模仿拉動支滾動條的動作

>>> above = driver.find_element_by_id("mainControlNext")# 定位到要懸停的元素。

>>> ActionChains(driver).move_to_element(above).perform()# 對定位到的元素執行鼠標懸停操作

>>> driver.page_source#返回JS渲染過后網頁源代碼

#另處一種原理是借助JavaScript來控制瀏覽器的滾動條。
#WebDriver提供了execute_script()方法來執行JavaScript代碼。
#<!-- window.scrollTo(左邊距,上邊距); -->window.scrollTo(0,450)
#更多可參考:https://blog.csdn.net/lilongsy/article/details/76142497

>>> js="window.scrollTo(0,2000);"

>>> driver.execute_script(js)

>>> driver.quit()

 

對於爬蟲來說selenium主要用法已經完成,其他相關的selenium操作文檔參考如下:


中文:http://www.testclass.net/selenium_python/

 

'''

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM