




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Python網(wǎng)絡(luò)爬蟲第四單元
反爬蟲策略及解決辦法教學概述概述
在第二部分的相關(guān)知識點:Requests的相關(guān)技術(shù)介紹的同時,向大家同步闡述了爬蟲過程中常見的難題,也就是反爬蟲。
我們先來認知一下爬蟲和反爬蟲的對比和歷史。爬蟲:自動獲取網(wǎng)站數(shù)據(jù)的程序,常伴隨批量的獲取。反爬蟲:使用技術(shù)手段防止爬蟲程序的方法。
反爬蟲的最終目的是:數(shù)據(jù)保護。因為伴隨著爬蟲程序的運行,會造成:粗暴爬取,服務(wù)器壓力過大,網(wǎng)站癱瘓。爬蟲失控,演變成服務(wù)器攻擊。
商業(yè)數(shù)據(jù)泄露,競爭能力流失等教學概述教學導(dǎo)航知識重點反爬蟲策略之Headers、Cookies、Proxies,Tesseract安裝與配置和Pytesseract應(yīng)用。知識難點Pytesseract應(yīng)用。推薦教學方式從學習情境任務(wù)書入手,通過對任務(wù)的解讀,引導(dǎo)思維獲取信息,引導(dǎo)學生制作工作計劃;根據(jù)標準工作流程,調(diào)整學生計劃并提出決策方案;通過對相關(guān)案例的實施演練讓學生掌握任務(wù)的實現(xiàn)流程及技能。建議學時8學時推薦學習方法根據(jù)任務(wù)要求獲取信息,制定工作計劃;根據(jù)教師演示,動手實踐完成工作實施,掌握任務(wù)實現(xiàn)的流程與技能;并進行課后的自我評價與擴展思考。必須掌握的理論知識反爬蟲策略之Headers、Cookies及Pytesseract應(yīng)用。必須掌握的技能使用Headers模擬瀏覽器操作;使用Cookies記錄身份信息。安裝Tesseract軟件;使用Pytesseract識別驗證碼。第四單元
反爬蟲策略及解決辦法0304反爬蟲的三大策略輸入式、行為式、智能三大驗證碼Tesseract使用
Pytesseract有效識別輸入式驗證碼0102情境一:常見反爬蟲策略及解決辦法010302情景概述知識準備總結(jié)PART01情境概述情境一:常見反爬蟲策略及解決辦法情境概述學習情境描述1.教學情境描述:根據(jù)自我網(wǎng)絡(luò)爬蟲技術(shù)的學習,總結(jié)歸納出所遇見的反爬蟲策略以及自己是如何解決它的。并結(jié)合老師或其他資料完善自己對反爬蟲策略及技術(shù)的認知,完善反爬蟲策略體系,并針對反爬蟲策略構(gòu)思對應(yīng)的解決辦法。2.關(guān)鍵知識點:反爬蟲策略之Headers、反爬蟲策略之Cookies、反爬蟲策略之Proxies。3.關(guān)鍵技能點:使用Headers模擬瀏覽器操作、使用Cookies記錄身份信息。情境一:常見反爬蟲策略及解決辦法情境概述本節(jié)課的學習目標了解常見的反爬蟲策略。掌握常見反爬蟲策略的解決辦法。掌握學習新型反爬蟲技術(shù)能力。掌握學習和思考新型反爬蟲解決方案。情境一:常見反爬蟲策略及解決辦法PART02知識準備情境一:常見反爬蟲策略及解決辦法知識準備引導(dǎo)問題了解什么是反爬蟲策略。你都遇到過哪些反爬蟲策略?你還知道哪些反爬蟲策略?對你遇到的反爬蟲策略,你是如何處理的?對你沒遇見過的反爬蟲策略,你準備如何處理?情境一:常見反爬蟲策略及解決辦法知識準備知識點介紹反爬蟲策略之Headers反爬蟲策略之Cookie反爬蟲策略之Proxies情境一:常見反爬蟲策略及解決辦法知識準備思維導(dǎo)圖情境一:常見反爬蟲策略及解決辦法知識準備反爬蟲策略之HeadersHeaders是指網(wǎng)絡(luò)請求的頭部信息,也就是網(wǎng)絡(luò)請求過程中所攜帶的描述信息,允許您對HTTP請求和響應(yīng)頭執(zhí)行各種操作。
Headers中常見字段有:Accept、Accept-Encoding、Accept-Language、Content-Type、Connection、User-Agent、Host、Referer、Cookie等。
基于Headers的反爬蟲策略常見的為:根據(jù)User-Agent識別瀏覽器行為;根據(jù)Cookie識別用戶信息;根據(jù)Referer識別鏈路、根據(jù)Content-Type識別數(shù)據(jù)類型。以下我們針對User-Agent和Referer進行處理(其中Cookie單獨講解,此處不做處理;Content-Type是服務(wù)器進行類型判斷識別,此處亦不做講解)。情境一:常見反爬蟲策略及解決辦法知識準備反爬蟲策略之Headers1.User-Agent
服務(wù)器會通過判斷客戶端請求頭中的User-Agent是否來源于瀏覽器。所以針對Web訪問的頁面或接口,我們需要把自己偽裝成一個瀏覽器來發(fā)起訪問。因此就要指定User-Agent來偽裝成瀏覽器發(fā)起請求。
樣例4-1:模擬谷歌瀏覽器,訪問百度搜索。importrequestsheaders={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/89.0.4389.90Safari/537.36'}requests.get(url='/',headers=headers)情境一:常見反爬蟲策略及解決辦法知識準備反爬蟲策略之Headers1.User-Agent
樣例4-2:隨機模擬瀏覽器,訪問百度搜索。importrequestsfromfake_useragentimportUserAgentheaders={'User-Agent':UserAgent().random}requests.get(url='/',headers=headers)情境一:常見反爬蟲策略及解決辦法知識準備反爬蟲策略之Headers2.Referer
很多網(wǎng)站群的訪問都是級聯(lián)的,而如何去判斷當前的訪問是通過用戶交互行為操作的還是直接訪問目標地址的呢?就是通過Headers中的Referer。Referer會自動保存并設(shè)置鏈路,也就是上一步歷史記錄地址,服務(wù)器就可以以此為參數(shù)判定是否是交互行為的產(chǎn)物。那么我們在程序中如何避免這種反爬蟲策略呢?情境一:常見反爬蟲策略及解決辦法知識準備反爬蟲策略之Headers2.Referer
樣例4-3:隨機模擬瀏覽器,訪問百度搜索。importrequestsfromfake_useragentimportUserAgenturl='/search?q=user-agent&qs=n&form=QBRE&sp=-1&pq=user-agent&sc=10-10&sk=&cvid=5A450C85AD6E40CFB5D9D9810A2504EE'referer='/search?q=Headers&qs=n&form=QBRE&sp=-1&pq=headers&sc=10-7&sk=&cvid=7C6B7E50739E4FD29EFDE523EA3E508D'headers={'User-Agent':UserAgent().random,'Referer':referer,}requests.get(url=url,headers=headers)情境一:常見反爬蟲策略及解決辦法知識準備反爬蟲策略之CookieCookie是請求頭的一部分,同時也web瀏覽器的憑證,根據(jù)實際情況,有時候要指定Cookie參數(shù)。requests將Cookie從中剝離出來,可以使用cookies參數(shù)直接指定。url="/cookies"r=requests.get(url,cookies={'myname':'lisi'})情境一:常見反爬蟲策略及解決辦法知識準備反爬蟲策略之CookieCookie最常用的場景是:用戶登錄信息管理。在爬取有些網(wǎng)頁是要求登錄之后的才能爬取,所以要和服務(wù)器一直保持登錄狀態(tài),有時的策略不都指定cookies,而是會使用session來完成,Session提供的API和requests是一樣的,并且可將Cookie自動保存。s.Session()對象自動保存和傳遞的方式。s=requests.Session()s.cookies=requests.utils.cookiejar_from_dict({"b":"d"})r=s.get('/cookies')r=s.get('/cookies')綜上所述,對于Cookie的問題,若在初始狀態(tài)需要傳遞,可以作為屬性放置在Headers的Cookie屬性中;可以單獨設(shè)置在參數(shù)cookies中。若在訪問過程實時攜帶,可以使用requests.Session()對象自動保存和傳遞的方式。情境一:常見反爬蟲策略及解決辦法知識準備反爬蟲策略之Proxies服務(wù)器會針對用戶操作對用戶行為進行記錄,當根據(jù)規(guī)則匹配識別為程序操作,可能會進行IP封禁的操作。當我們發(fā)現(xiàn)IP已經(jīng)被封了,此IP就再也訪問不到目標網(wǎng)站了。為了面對封禁IP的操作,我們可以:做更完善的設(shè)置,避免瀏覽器識別并封禁IP;使用代理IP,隱藏真實IP;設(shè)置好訪問間隔,避免服務(wù)器壓力過大。對于使用代理IP,保護真實機器IP的方式如下,設(shè)置proxies參數(shù):proxies={'https':'8:8118','http':':9999'}r=requests.get('',proxies=proxies,timeout=2)情境一:常見反爬蟲策略及解決辦法PART03總結(jié)情境一:常見反爬蟲策略及解決辦法總結(jié)總結(jié)本情景,主要介紹了完成Fiddler及模擬器軟件軟件的安裝配置。通過對案例的學習,讓同學們掌握
Requests、BeautifulSoup4、CSV技術(shù)的應(yīng)用,學習如何在實際靜態(tài)網(wǎng)頁數(shù)據(jù)采集中應(yīng)用Requests獲取網(wǎng)頁源數(shù)據(jù);使情境一:常見反爬蟲策略及解決辦法情景二:處理輸入式驗證碼校驗01030204情景概述知識準備案例講解總結(jié)PART01情境概述情景二:處理輸入式驗證碼校驗情境概述學習情境描述1.教學情境描述:在上一個學習情境中,簡單介紹了常見的網(wǎng)絡(luò)請求反爬蟲策略和解決方法。接下來,我們來看看網(wǎng)絡(luò)訪問的時候常見的驗證碼問題。驗證碼(CAPTCHA)是“CompletelyAutomatedPublicTuringtesttotellComputersandHumansApart”(全自動區(qū)分計算機和人類的圖靈測試)的縮寫,是一種區(qū)分用戶是計算機還是人的公共全自動程序??梢苑乐棺詸C批量注冊和惡意登錄;防止惡意刷單,投票、評論等;防止爬蟲盜取網(wǎng)頁內(nèi)容和數(shù)據(jù);防止虛假交易,盜卡支付等。實際上用驗證碼是現(xiàn)在很多網(wǎng)站通行的方式,我們利用比較簡易的方式實現(xiàn)了這個功能。這個問題可以由計算機生成并評判,但是必須只有人類才能解答。由于計算機無法解答CAPTCHA的問題,所以回答出問題的用戶就可以被認為是人類。情景二:處理輸入式驗證碼校驗情境概述學習情境描述2.關(guān)鍵知識點(1)Tesseract;(2)Pytesseract。3.關(guān)鍵技能點(1)安裝Tesseract軟件;(2)使用Pytesseract識別驗證碼。情景二:處理輸入式驗證碼校驗情境概述本節(jié)課的學習目標了解驗證碼的由來和意義。了解驗證碼的類型和應(yīng)用場景。掌握網(wǎng)頁驗證碼定位提取。掌握輸入式驗證碼基礎(chǔ)識別技術(shù)。情景二:處理輸入式驗證碼校驗情境概述本節(jié)課的任務(wù)書完成Tesseract軟件的安裝配置。使用pytesseract識別圖片內(nèi)容。使用Pillow處理圖片干擾信息。情景二:處理輸入式驗證碼校驗PART02知識準備情景二:處理輸入式驗證碼校驗知識準備知識點介紹Tesseract軟件的安裝配置pytesseract識別圖片內(nèi)容Pillow處理圖片干擾信息情景二:處理輸入式驗證碼校驗知識準備引導(dǎo)問題什么是輸入式驗證碼?如何才算通過校驗?驗證碼的生成機制是怎樣的?為什么爬蟲中要處理驗證碼校驗?本次情境中驗證碼具體類型和內(nèi)容范圍是什么?模擬用戶思維和行為,程序中識別輸入式驗證碼的原理是什么?輸入型驗證碼校驗過程可能會遇到哪些問題?如何定位和獲取實時驗證碼?獲取到的驗證碼是否有干擾信息?如何處理這些干擾信息?如何處理輸入式驗證碼完成校驗?情景二:處理輸入式驗證碼校驗知識準備思維導(dǎo)圖情景二:處理輸入式驗證碼校驗知識準備Tesseract1.Tesseract介紹Tesseract,一款由HP實驗室開發(fā)由Google維護的開源OCR(OpticalCharacterRecognition,光學字符識別)引擎,與MicrosoftOfficeDocumentImaging(MODI)相比,我們可以不斷的訓(xùn)練的庫,使圖像轉(zhuǎn)換文本的能力不斷增強;如果團隊深度需要,還可以以它為模板,開發(fā)出符合自身需求的OCR引擎。情景二:處理輸入式驗證碼校驗知識準備Tesseract2.Tesseract安裝與配置Tesseract的使用,需要環(huán)境的支持,以實現(xiàn)簡單的轉(zhuǎn)換和訓(xùn)練。1.1.下載軟件Tesseract是Github項目,其源碼地址為:/tesseract-ocr/tesseractTesseract有兩個大的穩(wěn)定版本迭代,分別是3和4.也有一個最新開發(fā)測試版本5.關(guān)于Windows編譯運行軟件可以在官網(wǎng)下載,也可以在下載站下載,以下是官網(wǎng)地址:/tesseract-ocr/tesseract/releases/tag/4.1.1以下是下載站地址:https://digi.bib.uni-mannheim.de/tesseract情景二:處理輸入式驗證碼校驗知識準備Tesseract2.Tesseract安裝與配置1.2.安裝軟件運行下載的Tesseract安裝包:tesseract-ocr-w64-setup-v0190314.exe,選定安裝地址,默認安裝即可,效果如圖4-4所示。
圖4-4Tesseract安裝情景二:處理輸入式驗證碼校驗知識準備Tesseract2.Tesseract安裝與配置1.2.安裝軟件
圖4-4Tesseract安裝情景二:處理輸入式驗證碼校驗知識準備Tesseract2.Tesseract安裝與配置1.3.Tesseract配置為了支持Python的pytesseract庫進行OCR識別,需要系統(tǒng)識別到Tesseract環(huán)境。首先,在系統(tǒng)變量中添加一列:TESSDATA_PREFIX,并設(shè)置Tesseract安裝目錄下的tessdata文件夾地址,效果如圖4-5所示。
圖4-5TESSDATA_PREFIX配置情景二:處理輸入式驗證碼校驗知識準備Tesseract2.Tesseract安裝與配置1.3.Tesseract配置接下來,需要將其路徑配置在系統(tǒng)環(huán)境Path中,配置如圖4-6所示。
圖4-6Path配置情景二:處理輸入式驗證碼校驗知識準備Tesseract2.Tesseract安裝與配置1.3.Tesseract配置接下來,在命令行窗口中驗證Tesseract環(huán)境及版本,輸入以下命令:$tesseract--versiontesseractv0190314leptonica-1.78.0libgif5.1.4:libjpeg8d(libjpeg-turbo1.5.3):libpng1.6.34:libtiff4.0.9:zlib1.2.11:libwebp0.6.1:libopenjp22.3.0FoundAVX2FoundAVXFoundSSE情景二:處理輸入式驗證碼校驗知識準備Pytesseract1.Pytesseract介紹Python-tesseractisanopticalcharacterrecognition(OCR)toolforpython.Thatis,itwillrecognizeand“read”thetextembeddedinimages.Python-tesseractisawrapperfor
Google’sTesseract-OCREngine.Itisalsousefulasastand-aloneinvocationscripttotesseract,asitcanreadallimagetypessupportedbythePillowandLeptonicaimaginglibraries,includingjpeg,png,gif,bmp,tiff,andothers.Additionally,ifusedasascript,Python-tesseractwillprinttherecognizedtextinsteadofwritingittoafile.pytesseract是google做的ocr庫,可以識別圖片中的文字,也是本次情境中用以識別輸入式驗證碼的有利工具庫。情景二:處理輸入式驗證碼校驗知識準備Pytesseract2.Pytesseract環(huán)境和其他三方庫一樣,Pytesseract不屬于Python本地環(huán)境,需要安裝后才能使用。2.1.安裝Pytesseract可以使用PIP安裝Python的Pytesseract庫。語法如下:$pipinstallPytesseract2.2.驗證安裝可以使用PIP安裝Python的Pytesseract庫。語法如下:$piplist在已安裝列表中顯示了Pytesseract及其對應(yīng)版本,,表明Pytesseract庫安裝成功。情景二:處理輸入式驗證碼校驗知識準備Pytesseract3.Pytesseract應(yīng)用Pytesseract是一個OCR識別庫,Pytesseract具有的函數(shù)如表4-2所示。函數(shù)描述get_languages返回PytesseractOCR當前支持的所有語言。get_tesseract_version返回安裝在系統(tǒng)中的Pytesseract版本。image_to_string返回未修改的輸出作為字符串從PytesseractOCR處理image_to_boxes包含識別字符及其框邊界的返回結(jié)果image_to_data返回結(jié)果包含框邊界、信任和其他信息。image_to_osd返回結(jié)果包含有關(guān)方向和腳本檢測的信息。image_to_alto_xml返回以Pytesseract的ALTOXML格式的形式產(chǎn)生。run_and_get_output返回PytesseractOCR的原始輸出。情景二:處理輸入式驗證碼校驗知識準備Pytesseract3.Pytesseract應(yīng)用其中最常用,也最直接識別驗證碼的函數(shù)是:image_to_string,將值作為字符串進行輸出。樣例4-4:使用Pytesseract識別圖4-7的內(nèi)容。
圖4-7importpytesseractfromPILimportImageimage=Image.open(r'C:\Users\king1\Pictures\SavedPictures\code2.jpg')print(pytesseract.image_to_string(image))情景二:處理輸入式驗證碼校驗知識準備Pytesseract3.Pytesseract應(yīng)用運行程序,輸出識別內(nèi)容:C:\Software\anaconda3\python.exeC:/Repositories/PyCharm/Learning_Situation_7/樣例4-4.pyOFXoProcessfinishedwithexitcode0情景二:處理輸入式驗證碼校驗PART03案例講解情景二:處理輸入式驗證碼校驗案例講解使用Pytesseract有效識別輸入式驗證碼實例:選擇中國知網(wǎng)會員注冊界面的驗證碼進行演示。情景二:處理輸入式驗證碼校驗案例講解使用Pytesseract有效識別輸入式驗證碼步驟:確定目標安裝環(huán)境構(gòu)建項目編寫驗證碼校驗程序運行程序效果截圖優(yōu)化識別程序情景二:處理輸入式驗證碼校驗案例講解使用Pytesseract有效識別輸入式驗證碼1.確定目標a、本次純粹使用技術(shù)驗證數(shù)據(jù),選擇中國知網(wǎng)會員注冊界面的驗證碼進行演示,注冊頁面如圖4-8所示。
圖4-8中國知網(wǎng)注冊頁情景二:處理輸入式驗證碼校驗案例講解使用Pytesseract有效識別輸入式驗證碼1.確定目標b、通過定位、檢索,得到注冊頁中圖片驗證碼實際是由AJAX實時請求刷新的,URL地址為:/elibregister/CheckCode.aspx,定位效果如圖4-9。
圖4-9驗證碼定位圖情景二:處理輸入式驗證碼校驗案例講解使用Pytesseract有效識別輸入式驗證碼1.確定目標c、通過觀察和操作網(wǎng)頁發(fā)現(xiàn),在“立即注冊”按鈕事件上,會校驗并上傳數(shù)據(jù)進行會員注冊;在驗證碼輸入框輸入驗證碼并失去焦點時,會自動請求校驗,校驗地址為:/elibregister/Server.aspx。綜上所述,本次使用Pytesseract進行驗證碼校驗主要針對于驗證碼獲取接口和校驗接口,不做實際注冊操作。情景二:處理輸入式驗證碼校驗案例講解使用Pytesseract有效識別輸入式驗證碼2.安裝環(huán)境
本次項目使用環(huán)境為以下內(nèi)容:本地語言環(huán)境:Python3.8編譯工具:PyCharm2021.2網(wǎng)絡(luò)請求框架:urllib1.26.4、Requests2.25.1圖片處理框架:Pillow8.2.0OCR識別框架:Pytesseract0.3.8情景二:處理輸入式驗證碼校驗案例講解使用Pytesseract有效識別輸入式驗證碼3.構(gòu)建項目
在準備工作都完成之后,即可通過工具PyCharm構(gòu)建項目,并開始進行項目開發(fā)了。
使用PyCharm構(gòu)建基本Python項目:Learning_Situation_7,效果如圖4-10所示。
圖4-9驗證碼定位圖情景二:處理輸入式驗證碼校驗案例講解使用Pytesseract有效識別輸入式驗證碼4.編寫驗證碼校驗程序
在創(chuàng)建的項目:Learning_Situation_7中構(gòu)建驗證碼校驗程序,以下是具體操作步驟。4.1.構(gòu)建可執(zhí)行文件
創(chuàng)建網(wǎng)絡(luò)爬蟲可執(zhí)行文件:check_the_verification_code.py。4.2.導(dǎo)入模塊importpytesseractfromPILimportImagefromurllib.requestimporturlretrieve情景二:處理輸入式驗證碼校驗案例講解使用Pytesseract有效識別輸入式驗證碼4.編寫驗證碼校驗程序4.3.獲取驗證碼圖片url_get_code='/elibregister/CheckCode.aspx'defgetImage(filename):urlretrieve(url=url_get_code,filename=filename)4.4.OCR識別圖片內(nèi)容defocrImage(filename):image=Image.open(filename)result_ocr=pytesseract.image_to_string(image)result_filter=''foriteminresult_ocr:ifstr(item).isalnum():result_filter+=itemreturnresult_filter情景二:處理輸入式驗證碼校驗案例講解使用Pytesseract有效識別輸入式驗證碼5.運行程序5.1.構(gòu)建程序啟動入口if__name__=='__main__':filename='code.jpg'getImage(filena
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 旅游行業(yè)行程變動及責任豁免協(xié)議書
- 電子支付平臺開發(fā)與推廣合作協(xié)議
- 營業(yè)辦公用房買賣協(xié)議書
- 中學生感恩教育故事觀后感
- 高考語文高頻文言實詞60詞表解
- 環(huán)保能源行業(yè)項目合作風險提示
- 高考語文備考之明朝作家文言文匯編(下)
- 購銷家具合同家具購銷合同
- 綠色農(nóng)業(yè)種植合同
- 裝修工程勞務(wù)外包合同
- 《研學旅行課程設(shè)計》課件-初識研學旅行發(fā)展歷程
- 傳染病手術(shù)的處理流程
- 新質(zhì)生產(chǎn)力:中國創(chuàng)新發(fā)展的著力點與內(nèi)在邏輯
- 《中醫(yī)常用護理技術(shù)基礎(chǔ)》課件-八綱辨證施護
- 心理健康與職業(yè)生涯(中等職業(yè))全套教學課件
- 市政園林安全生產(chǎn)培訓(xùn)課件
- 基于BIM的軸流通風機施工工藝優(yōu)化
- 2024年大學生自我意識教學案
- 女生青春期知識講座(六年級)課件
- 消化道出血講課課件
- 化工過程安全管理導(dǎo)則
評論
0/150
提交評論