摘要:介紹是一個用于應用程序測試的工具,測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。支持的瀏覽器包括,,,,,等,它在的領域里的引用能使初學者大大的省去解析網頁中代加密的一些麻煩。
Selenium 是一個用于Web應用程序測試的工具,Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。
支持的瀏覽器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera,Edge等,它在python的領域里的引用能使初學者大大的省去解析網頁中代加密的一些麻煩。
*特別適合小白練手
1.首先要下載一個python的環境,最新的python環境里有繼承好的pip工具包(這塊知識見python官網操作)
2.下載瀏覽器的驅動(我這邊以谷歌瀏覽器,你們也可以下載其他的)
打開https://npm.taobao.org/mirrors/chromedriver鏈接(這個是谷歌瀏覽器的驅動),先找到自身瀏覽器的版本進行下載,找自身瀏覽器版本方法見下圖1,圖2
圖1
圖2
我這里的是93.0.4577.63接著在驅動下載頁面下載自己的版本的驅動,(如果沒有自己的版本就找這個版本之前的一個) 見下圖3
?圖3
下載好后把解壓好的包安裝在自己的python環境下。
找python環境目錄的方法:1.打開python--------右擊----選擇運行? 圖4 做記號的就是我的路徑
?圖4
把下好的復制到相應的路徑下就可以了如圖5
圖5
工具:PyCharm 2021.2
python編譯環境:python3.8
首先導入需要的依賴包 在python終端中打入
pip install selenium
解析網頁:
首先打開網址https://www.endata.com.cn/BoxOffice/BO/Year/index.html? 按F12打開代碼解釋器
進行一個解析,我們測試代碼是否能自動的打開瀏覽器
from selenium.webdriver import Chromeweb = Chrome() web.get("https://www.endata.com.cn/BoxOffice/BO/Year/index.html")
經過測試是能打開需要的網址的,接著我們要爬的是每一年度第一的觀影榜單,我們利用xpath進行一個定位。
sel_el = web.find_element_by_xpath("http://*[@id="OptionDate"]")#定位一個下拉列表
xpath不會定位的見下圖
?定位到的位置
?我們觀察到這里有一個下拉列表,我們需要對下拉列表進行一個封裝然后根據索引(這里直接根據options)進行一個遍歷查找(這塊涉及到前端知識點下拉列表)
sel = Select(sel_el) for i in range(len(sel.options)): sel.select_by_index(i)
?最后找到你要爬取的內容,我這爬取的是電影名稱和票房
table = web.find_element_by_xpath("http://*[@id="TableList"]/table/tbody/tr[1]/td[2]/a/p").textpiaofang = web.find_element_by_xpath("http://*[@id="TableList"]/table/tbody/tr[1]/td[4]").text
把爬取的內容保存到當前目錄文件下,最后一部進行代碼段的整合
整合代碼段:
import timefrom selenium.webdriver import Chromefrom selenium.webdriver.chrome.options import Optionsfrom selenium.webdriver.support.select import Selectweb =Chrome()web.get("https://www.endata.com.cn/BoxOffice/BO/Year/index.html")with open("data.csv", "w", encoding="utf-8") as f: #打開文件,進行寫入 sel_el = web.find_element_by_xpath("http://*[@id="OptionDate"]")#定位一個下拉列表#對元素進行包裝 sel = Select(sel_el) for i in range(len(sel.options)): #前端的下拉列表的 sel.select_by_index(i) time.sleep(2) #進行一個2s的休眠 table = web.find_element_by_xpath("http://*[@id="TableList"]/table/tbody/tr[1]/td[2]/a/p").text #定位要找的東西位置 piaofang = web.find_element_by_xpath("http://*[@id="TableList"]/table/tbody/tr[1]/td[4]").text nianfen = web.find_element_by_xpath("http://*[@id="OptionDate"]/option[1]").text f.write(table) f.write("/r") f.write(piaofang) f.write("/r/n") f.close()web.close()print("爬取完畢")
安裝驅動有不明白的地方可以提出來哦,讓我們一起努力一起學習,有那寫的不對的還請各位大佬指正,感覺寫的還行的,給個小贊,小編也有寫下去的動力
??????
???????
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/119073.html
摘要:時間永遠都過得那么快,一晃從年注冊,到現在已經過去了年那些被我藏在收藏夾吃灰的文章,已經太多了,是時候把他們整理一下了。那是因為收藏夾太亂,橡皮擦給設置私密了,不收拾不好看呀。 ...
摘要:在這之前,還是有必要對一些概念超輕量級反爬蟲方案后端掘金前言爬蟲和反爬蟲日益成為每家公司的標配系統。 爬蟲修煉之道——從網頁中提取結構化數據并保存(以爬取糗百文本板塊所有糗事為例) - 后端 - 掘金歡迎大家關注我的專題:爬蟲修煉之道 上篇 爬蟲修煉之道——編寫一個爬取多頁面的網絡爬蟲主要講解了如何使用python編寫一個可以下載多頁面的爬蟲,如何將相對URL轉為絕對URL,如何限速,...
摘要:之前在學校曾經用過的方法做過一些爬蟲腳本來玩,從正式轉前端之后,出于興趣,我對爬蟲和反爬蟲又做了一些了解,并且做了一些爬蟲攻防的實踐。爬蟲腳本通常會很頻繁的進行網絡請求,比如要爬取豆瓣排行榜的電影,就會連續發送個網絡請求。 之前在學校曾經用過request+xpath的方法做過一些爬蟲腳本來玩,從ios正式轉前端之后,出于興趣,我對爬蟲和反爬蟲又做了一些了解,并且做了一些爬蟲攻防的實踐...
摘要:之前在學校曾經用過的方法做過一些爬蟲腳本來玩,從正式轉前端之后,出于興趣,我對爬蟲和反爬蟲又做了一些了解,并且做了一些爬蟲攻防的實踐。爬蟲腳本通常會很頻繁的進行網絡請求,比如要爬取豆瓣排行榜的電影,就會連續發送個網絡請求。 之前在學校曾經用過request+xpath的方法做過一些爬蟲腳本來玩,從ios正式轉前端之后,出于興趣,我對爬蟲和反爬蟲又做了一些了解,并且做了一些爬蟲攻防的實踐...
摘要:楚江數據是專業的互聯網數據技術服務,現整理出零基礎如何學爬蟲技術以供學習,。本文來源知乎作者路人甲鏈接楚江數據提供網站數據采集和爬蟲軟件定制開發服務,服務范圍涵蓋社交網絡電子商務分類信息學術研究等。 楚江數據是專業的互聯網數據技術服務,現整理出零基礎如何學爬蟲技術以供學習,http://www.chujiangdata.com。 第一:Python爬蟲學習系列教程(來源于某博主:htt...
閱讀 3468·2021-11-25 09:43
閱讀 1073·2021-11-15 11:36
閱讀 3320·2021-11-11 16:54
閱讀 3988·2021-09-27 13:35
閱讀 4376·2021-09-10 11:23
閱讀 5759·2021-09-07 10:22
閱讀 3044·2021-09-04 16:40
閱讀 778·2021-08-03 14:03