(一)如何讓selenium爬我們需要的東西
@[TOC]

前言
本博客會以藝龍旅游網為對象,進行selenium的學習
由于區區在下在學校參加了一個名為創新創業工作室的地方,所以今天老師召集我們給我們開了個會,讓我們對他們的網站做補充,缺少資料。(因為他不會做爬蟲對某種信息進行實時性爬取,我懷疑網站也是別人給他做的)
所以有些體力活需要我們去做:手動將數據從某網站下載,然后通過某網站對坐標進行處理,然后進入網站后臺將數據存儲(手動一個一個打)。
但是我通過對網站進行分析,發現如果單純使用requests話,就只能爬取一頁的數據,不能翻頁(因為翻頁url是不變的),所以我就想到了selenium,但是我又不會用,那就一起來學習一下吧。
確定目標:http://www.elong.com/
目的:爬取藝龍網中南陽市唐河縣的酒店信息,包括:名字,電話,標間價格,地址,介紹,圖片
selenium在python中的使用
1.了解selenium
Selenium是一個用于測試網站的自動化測試工具,支持各種瀏覽器包括Chrome、Firefox、Safar等瀏覽器(需要下載驅動),之前是用來做測試網站的,后來發現也可以用來爬取數據(估計開發者都沒想到他開發的selenium被別人廣泛適用于爬蟲領域——笑)。
2.selenium的下載
我這里是使用的Chrom瀏覽器 !注意不要忽視這個地方
python中selenium庫的下載(pycharm系列)
由于我用的pycharm的虛擬環境,所以我只需要在pycharm的終端下載第三方庫就行了,簡單,方便,pycharm真是個好用的東西——O(∩_∩)O~
打開pycharm
打開pycharm的終端
輸入pip install selenium -i https://pypi.doubanio.com/simple (這是使用國內鏡像網站下載selenium,下載速度較快)
等待片刻,結束
pip list ——查看自己下載的第三方庫,檢查是否成功
python中selenium庫的下載(cmd系列)
win+R輸入cmd
打開cmd
輸入pip install selenium -i https://pypi.doubanio.com/simple (這是使用國內鏡像網站下載selenium,下載速度較快)
等待片刻,結束
pip list ——查看自己下載的第三方庫,檢查是否成功
selenium驅動的下載(這里我直接給云盤鏈接,官網都是英文,看不懂)
打開你的Chrom瀏覽器查看你是什么版本的(幫助->about chrom),查看版本號
點擊右邊這個藍色的小可愛,沒錯我是小可愛 ,找到與你的chrom瀏覽器版本相匹配的(沒有匹配的,相近的也可以,win都是32位的),下載
沒了,沒錯,你沒看錯,真的沒了
selenium的環境配置,沒錯又是這個煩人的環境配置 真想給他一腳
想必,這個時候已經下載好了吧
下載好以后,很簡單,解壓,然后——看3
最好(但是不是必要)創建一個文件夾放你解壓出來的geckodriver,然后復制你這個文件當前的路徑(ctrl + c)
打開環境變量(此電腦->右鍵->屬性->高級系統配置->環境變量),在系統變量找到path,新建,ctrl + v
完事
打開你的pycharm,新建一個py文件去寫出以下代碼
from selenium import webdriver import time # 導入時間包和selenium包 huohu = webdriver.Chrome() # 創建一個chome的selenium對象 huohu.get("http://www.elong.com/") # 打開網站 huohu.quit() # 退出
寫好后,運行
好,報錯了,對,報錯了,可能你們不會報錯,反正我報錯了
報錯信息是:selenium.common.exceptions.WebDriverException: Message: ‘chromedriver’ executable needs to be in PATH.
意思是,你需要吧chromdriver放到路徑,我照著做了,可是呢,還是這個報錯!
這是什么情況??明明我是按照教程來的啊
著急的我去群里請求大佬,大佬們直接無視我——::>_<::
然后又去找它——>CSDN,左翻翻,右找找,終于找到了解決方案:
將chromdriver放在python解釋器的位置,我照著做了之后,就成功了。。。
好家伙,上面教程不是說隨便放的嗎?…
哎,人與人之間最基本的信任都沒有了
3. selenium的基本使用
from selenium import webdriver # 導包 driver = webdriver.Chrome() # 創建一個瀏覽器對象 driver.get("https://m.elong.com/") # 訪問藝龍網 driver.quit() # 關閉瀏覽器,也可以不關閉,但是最好關閉,養成一個打開后不忘記關閉的好習慣
然后我們就會發現,瀏覽器界面一閃而過(為什么?因為頁面渲染完成后,就直接退出了),那么如何才能讓我們能夠觀察到呢?有請我們的time模塊,讓它睡會兒,就能觀察到了
這樣改
from selenium import webdriver import time # 導包 driver = webdriver.Chrome() driver.get("https://m.elong.com/") time.sleep(5) # 頁面渲染完成后讓它睡5s,這樣就能觀察到了 driver.quit()
OK,看到,代碼替我們打開了這個網址,并且展示了5s后關閉了
結語
好了,相信大家已經學會如何使用筷子了,那么讓我們去動用我們的筷子去把這個網站抓下來吧——笑,玩個老梗
今天的筆記就到這里了(主要是不想寫了,一天當然不可能只學會點這玩意),拜拜
Selenium
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。