版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2025年P(guān)ythonScrapy框架專項訓(xùn)練試卷:押題沖刺版考試時間:______分鐘總分:______分姓名:______一、選擇題1.在Scrapy框架中,負(fù)責(zé)處理爬蟲返回的響應(yīng)、決定是否需要發(fā)出新請求的核心組件是?A.EngineB.DownloaderC.SpiderD.ItemPipeline2.以下哪個配置項用于指示Scrapy爬蟲在遇到HTTP403錯誤時,是否應(yīng)該遵循`robots.txt`文件中的規(guī)則?A.`DOWNLOAD_DELAY`B.`ROBOTSTXT_OBEY`C.`CONCURRENT_REQUESTS`D.`USER_AGENT`3.當(dāng)一個Spider通過`yieldRequest(...,dont_filter=True)`發(fā)出請求時,Scrapy會?A.自動忽略該請求,不會再次處理B.將該請求放入隊列,但后續(xù)會忽略它C.將該請求視為新請求,即使目標(biāo)URL與之前發(fā)出的相似也會重新處理D.拋出異常,因為`dont_filter`參數(shù)無效4.在Scrapy項目中,如果需要自定義數(shù)據(jù)存儲邏輯,通常需要重寫哪個類中的`process_item`方法?A.SpiderB.DownloaderMiddlewareC.ItemPipelineD.Request5.以下哪個方法通常用于在Spider中解析響應(yīng)內(nèi)容,并返回一個或多個`Request`對象或直接返回`Item`對象?A.`start_requests()`B.`__init__()`C.`parse()`D.`process_item()`6.Scrapy的`DOWNLOAD_DELAY`配置項的作用是?A.控制并發(fā)請求的數(shù)量B.設(shè)置下載延遲時間,用于防止過快請求被封C.定義ItemPipeline的執(zhí)行順序D.指定User-Agent字符串7.如果一個網(wǎng)站的某個頁面需要通過POST請求登錄后才能訪問其內(nèi)容,在ScrapySpider中處理這種情況通常需要?A.在`parse()`方法中添加邏輯B.使用`FormRequest`對象C.修改`settings.py`中的`ROBOTSTXT_OBEY`D.在DownloaderMiddleware中處理8.以下哪個組件主要用于處理下載過程中的中間問題,如重定向、請求重試、用戶代理設(shè)置等?A.ItemPipelineB.SpiderMiddlewareC.DownloaderMiddlewareD.ScrapyEngine9.在Scrapy中,如果你想確保所有爬取到的數(shù)據(jù)最終都被存儲,即使某個Item在Pipeline處理過程中失敗,應(yīng)該怎么做?A.在Spider中捕獲異常B.使用Scrapy的`FEED_URI`配置項,設(shè)置FeedExporterC.在對應(yīng)的Pipeline類中捕獲`process_item`拋出的異常,并返回`Item`對象D.修改`CONCURRENT_REQUESTS`參數(shù)10.Scrapy的`CrawlSpider`類相比普通`Spider`,主要優(yōu)勢在于?A.自動處理分頁鏈接B.自動解析JSON響應(yīng)C.自動遵循robots.txt規(guī)則D.自動處理登錄驗證二、填空題1.Scrapy框架的核心架構(gòu)通常被描述為_______、Downloader、Spider、ItemPipeline和Scheduler五個主要部分。2.要在Scrapy爬蟲中添加自定義的User-Agent字符串,需要在`settings.py`文件中設(shè)置配置項_______。3.如果一個Item需要傳遞給下一個Pipeline處理,`process_item`方法應(yīng)該返回_______對象。4.`scrapyshell''`命令主要用于_______。5.中間件(Middleware)分為DownloaderMiddleware和_______Middleware,它們在Scrapy的處理流程中分別位于下載階段和Spider處理階段。6.當(dāng)Scrapy遇到一個無法處理的異常時,如果不希望在Spider中捕獲它,可以讓Pipeline返回`None`,此時Scrapy會_______該Item。7.要限制爬蟲對單個域名的并發(fā)請求數(shù)量,可以使用`settings.py`中的配置項_______。8.在ScrapyPipeline中,定義自定義Pipeline類時,該類必須繼承自`scrapy.ItemPipeline`(或特定類型Pipeline的父類)并實現(xiàn)至少一個方法:_______。9.如果需要將爬取的數(shù)據(jù)導(dǎo)出為CSV文件,可以在`settings.py`中設(shè)置`FEED_URI`和配置項`FEED_FORMAT`為_______。10.`ROBOTSTXT_OBEY`配置項為`True`時,Scrapy爬蟲會嘗試獲取并遵守目標(biāo)網(wǎng)站的`robots.txt`文件中的爬取規(guī)則。三、簡答題1.簡述Scrapy項目的基本結(jié)構(gòu),包括`settings.py`、`items.py`、爬蟲文件(如`spiders/`目錄下的Python文件)和Pipeline文件(如`pipelines.py`)各自的作用。2.解釋Scrapy的Spider工作流程,描述從`start_requests()`開始,到Scheduler調(diào)度、Downloader下載、Spider解析、Item傳遞給Pipeline的整個過程。3.什么是Scrapy的中間件(Middleware)?請列舉至少兩個DownloaderMiddleware和兩個SpiderMiddleware的常見用途。4.當(dāng)你需要爬取一個網(wǎng)站,該網(wǎng)站使用了JavaScript動態(tài)加載頁面內(nèi)容,你會考慮使用Scrapy配合哪種工具來獲取這些動態(tài)渲染的數(shù)據(jù)?請簡述理由。5.假設(shè)你需要爬取一個新聞網(wǎng)站,每個新聞頁面有標(biāo)題、作者、發(fā)布時間、正文內(nèi)容。請描述你會如何定義Item結(jié)構(gòu)(在`items.py`中),以及如何在Spider的`parse()`方法中提取這些信息。四、編程題1.編寫一個ScrapySpider,用于爬取“/page/1/”頁面上的所有名言(quote)、作者(author)和引用頁數(shù)(toplevelheading)。要求:*Spider名稱為`quotes_spider`。*使用XPath選擇器提取所需信息。*將提取的數(shù)據(jù)以Item形式返回,Item字段包括`quote`、`author`和`top_level_heading`。*在Spider的`parse()`方法中,實現(xiàn)自動處理該網(wǎng)站的分頁,當(dāng)爬到最后一頁時停止。2.編寫一個ScrapyItemPipeline,用于將爬取到的Item數(shù)據(jù)存儲到MongoDB數(shù)據(jù)庫中。要求:*假設(shè)MongoDB已經(jīng)安裝并運行,本地地址為`mongodb://localhost:27017/`。*數(shù)據(jù)庫名稱為`scrapy_db`,集合名稱為`quotes`。*在`process_item`方法中,將接收到的Item插入到MongoDB的`quotes`集合中。如果Item的`quote`字段包含特定關(guān)鍵詞(如"love"),則在插入時將該文檔標(biāo)記為“已標(biāo)記”。3.編寫一個簡單的Scrapy項目配置(`settings.py`片段),滿足以下要求:*爬蟲名稱為`my_custom_spider`。*設(shè)置User-Agent為`MyCustomScrapyBot/1.0`。*設(shè)置最大并發(fā)請求數(shù)為20(全局)。*對每個目標(biāo)域名的并發(fā)請求數(shù)設(shè)置為50。*設(shè)置下載延遲為1秒。*啟用自動throttle功能,并設(shè)置最小請求延遲為0.5秒。*啟用`ROBOTSTXT_OBEY`。*將爬取的數(shù)據(jù)導(dǎo)出為JSON格式,保存到當(dāng)前目錄下的`output.json`文件中。試卷答案一、選擇題1.C解析:Spider負(fù)責(zé)解析響應(yīng)并生成請求,Downloader負(fù)責(zé)下載請求返回的響應(yīng),Engine負(fù)責(zé)協(xié)調(diào)各組件工作,ItemPipeline負(fù)責(zé)處理Item。核心處理邏輯和決定發(fā)新請求的是Spider。2.B解析:`ROBOTSTXT_OBEY`直接控制是否遵守`robots.txt`規(guī)則,與HTTP狀態(tài)碼無關(guān)。`DOWNLOAD_DELAY`是延遲,`CONCURRENT_REQUESTS`是并發(fā)數(shù),`USER_AGENT`是用戶代理。3.C解析:`yieldRequest(...,dont_filter=True)`明確指示Scrapy不要應(yīng)用`FilterRequest`機制,即即使之前已經(jīng)處理過相同的URL,也會再次發(fā)出請求。4.C解析:Pipeline是專門設(shè)計用來處理Item對象的組件,`process_item`是其核心方法,用于對Item進(jìn)行數(shù)據(jù)清洗、驗證、存儲等操作。5.C解析:Spider的主要工作就是在`parse()`方法中處理下載回來的響應(yīng),提取數(shù)據(jù),并決定下一步要請求哪些URL。6.B解析:`DOWNLOAD_DELAY`(或`DOWNLOAD_DELAY_PER_DOMAIN`)用于設(shè)置每次下載請求之間的延遲時間,是防止被網(wǎng)站反爬蟲機制識別的常用手段。7.B解析:處理需要登錄的POST請求,需要構(gòu)造一個`FormRequest`對象,包含POST的數(shù)據(jù)、URL等信息,然后通過`yield`交給Scrapy處理。8.C解析:DownloaderMiddleware位于下載階段,負(fù)責(zé)處理Downloader返回的響應(yīng),如重定向、重試、設(shè)置請求頭等。9.C解析:在Pipeline的`process_item`方法中,如果捕獲到異常并希望Item繼續(xù)傳遞給下一個Pipeline(即使當(dāng)前Pipeline處理失?。?,應(yīng)返回Item對象本身。如果返回None,則該Item會被丟棄。10.A解析:`CrawlSpider`是專門為處理具有清晰層級結(jié)構(gòu)網(wǎng)站設(shè)計的Spider,它自動提取和跟進(jìn)特定模式的鏈接(如`//div[@class="next"]`),自動處理分頁,比普通Spider更方便。二、填空題1.Engine解析:Scrapy架構(gòu)的五個核心部分通常包括引擎(Engine)、下載器(Downloader)、蜘蛛(Spider)、管道(Pipeline)和調(diào)度器(Scheduler)。2.USER_AGENT解析:`USER_AGENT`是Scrapy`settings.py`中的一個配置項,用于設(shè)置爬蟲發(fā)送的HTTP請求頭中的User-Agent字符串。3.Item解析:`process_item`方法的返回值必須是`Item`對象,或者是`None`(表示丟棄該Item)。返回Item對象才能被傳遞給后續(xù)的Pipeline。4.交互式調(diào)試解析:`scrapyshell`是一個交互式Python環(huán)境,允許用戶加載Scrapy項目和特定響應(yīng),直接使用Scrapy提供的函數(shù)(如`response.xpath()`)進(jìn)行數(shù)據(jù)提取和調(diào)試,非常方便。5.Spider解析:Scrapy中間件分為DownloaderMiddleware和SpiderMiddleware,分別處理下載請求返回的響應(yīng)和Spider生成的響應(yīng)。6.丟棄解析:當(dāng)一個Item傳遞給Pipeline,`process_item`方法拋出異常且未被捕獲時,或者返回None時,Scrapy會認(rèn)為該Item處理失敗,并將其丟棄,不會傳遞給其他Pipeline或FeedExporter。7.CONCURRENT_REQUESTS_PER_DOMAIN解析:`CONCURRENT_REQUESTS_PER_DOMAIN`用于限制同時針對單個主域名的并發(fā)請求數(shù)量,有助于避免對目標(biāo)服務(wù)器造成過大壓力。8.process_item解析:`process_item`是ItemPipeline類中必須實現(xiàn)(或可以重寫)的核心方法,其功能是對傳遞過來的Item進(jìn)行處理(如清洗、驗證、存儲)。9.json解析:`FEED_FORMAT`配置項用于指定FeedExporter的格式,`FEED_URI`用于指定導(dǎo)出文件的保存路徑。將兩者結(jié)合,可以將數(shù)據(jù)導(dǎo)出為JSON格式。10.robots.txt解析:`ROBOTSTXT_OBEY`是一個布爾值配置項,當(dāng)其為True時,Scrapy爬蟲會遵守目標(biāo)網(wǎng)站根目錄下的`robots.txt`文件中定義的爬取規(guī)則。三、簡答題1.答:Scrapy項目的基本結(jié)構(gòu)通常包括:*`settings.py`:項目配置文件,包含項目運行所需的各種設(shè)置,如中間件啟用、ItemPipeline配置、并發(fā)數(shù)、下載延遲等。*`items.py`:定義項目所需爬取的數(shù)據(jù)結(jié)構(gòu),使用`Item`類來描述數(shù)據(jù)的字段名和類型。*爬蟲文件(如`spiders/quotes_spider.py`):包含`Spider`類,負(fù)責(zé)爬取特定網(wǎng)站的結(jié)構(gòu)化數(shù)據(jù),通過`start_requests()`方法發(fā)起初始請求,在`parse()`方法中處理響應(yīng)并提取數(shù)據(jù)。*Pipeline文件(如`pipelines.py`):包含一個或多個`ItemPipeline`子類,用于在Spider爬取結(jié)束后對Item進(jìn)行進(jìn)一步處理,如數(shù)據(jù)清洗、驗證、存儲到數(shù)據(jù)庫或文件等。2.答:Scrapy的Spider工作流程如下:1.啟動:爬蟲代碼被加載,ScrapyEngine啟動。2.`start_requests()`:Spider的`start_requests()`方法被調(diào)用,該方法通常返回一個或多個`Request`對象,這些初始請求被放入Scheduler(調(diào)度器)的隊列中。3.調(diào)度:Scheduler根據(jù)一定的調(diào)度策略(通常是FIFO)從隊列中取出一個`Request`對象,并將其發(fā)送給Engine。4.下載:Engine接收到`Request`后,將其交給Downloader(下載器)去下載頁面內(nèi)容,得到`Response`對象。5.解析:Downloader將`Response`對象返回給Engine。Engine將`Response`傳遞給對應(yīng)的Spider(如果`Request`中指定了Spider)。6.Spider處理:Spider接收到`Response`,在其`parse()`方法(或其他定義好的回調(diào)方法)中解析`Response`內(nèi)容,提取數(shù)據(jù)并生成新的`Request`對象(可能多個),或者直接生成`Item`對象。提取的Item會附帶傳遞給Pipeline。7.Item傳遞:Spider返回的`Item`對象(以及關(guān)聯(lián)的`Request`對象)被Engine傳遞給ItemPipeline。8.Pipeline處理:Item依次經(jīng)過各個啟用的Pipeline的`process_item()`方法,進(jìn)行數(shù)據(jù)清洗、驗證、存儲等操作。如果某個Pipeline處理失敗并返回None,則該Item會被丟棄。9.循環(huán)/結(jié)束:如果Spider的`parse()`方法返回了新的`Request`對象,流程回到步驟3繼續(xù)執(zhí)行。如果`parse()`方法返回None或沒有新的Request,爬蟲結(jié)束。3.答:Scrapy中間件(Middleware)是一段可插拔的代碼,用于在Scrapy的處理流程中攔截和修改請求或響應(yīng)。它們可以在不影響Spider主體邏輯的情況下,增加額外的功能或修改行為。*DownloaderMiddleware:位于下載階段,處理Downloader返回的`Response`。常見用途包括:*修改請求頭(如User-Agent、Referer)。*使用代理IP。*處理重定向。*請求重試邏輯(如根據(jù)HTTP狀態(tài)碼)。*記錄下載時間或帶寬使用。*SpiderMiddleware:位于Spider處理階段,處理Spider返回的`Response`(通常是在`parse()`方法中)。常見用途包括:*在發(fā)送請求前修改`Request`對象(如添加回調(diào)、meta信息)。*在解析響應(yīng)前修改`Response`對象(如去除特定標(biāo)簽)。*請求重試邏輯(針對特定響應(yīng))。4.答:當(dāng)需要爬取使用JavaScript動態(tài)加載內(nèi)容的網(wǎng)站時,純Scrapy爬蟲可能無法直接獲取到最終渲染的數(shù)據(jù)??梢钥紤]使用Scrapy配合以下工具:*Scrapy-Selenium/Scrapy-Playwright:這是最常用的方法。這些擴(kuò)展使得Scrapy能夠啟動一個真實的瀏覽器(如Chrome或Firefox,使用Selenium)或瀏覽器環(huán)境(如Playwright),加載頁面并執(zhí)行JavaScript,從而獲取到動態(tài)渲染后的DOM內(nèi)容和數(shù)據(jù)。Scrapy通過這些庫模擬用戶操作(如點擊按鈕、滾動頁面),然后從瀏覽器環(huán)境中獲取`Page`對象或`WebDriver`對象,從中提取所需數(shù)據(jù)。理由是它們能夠模擬真實瀏覽器行為,執(zhí)行JavaScript,獲取到最終用戶可見的內(nèi)容。5.答:定義Item結(jié)構(gòu)和提取邏輯如下:*`items.py`定義:```pythonimportscrapyclassQuoteItem(scrapy.Item):quote=scrapy.Field()author=scrapy.Field()top_level_heading=scrapy.Field()```*Spider`parse()`方法提?。篳``pythonimportscrapyfrom..itemsimportQuoteItemclassQuotesSpider(scrapy.Spider):name='quotes_spider'start_urls=['/page/1/']defparse(self,response):self.log(f'Parsingpage:{response.url}')forquote_blockinresponse.xpath('//div[@class="quote"]'):item=QuoteItem()item['quote']=quote_block.xpath('.//span[@class="text"]/text()').get()item['author']=quote_block.xpath('.//small[@class="author"]/text()').get()item['top_level_heading']=response.xpath('//h1/text()').get()yielditem#ExtractnextpageURLifexistsnext_page=response.xpath('//li[@class="next"]/a/@href').get()ifnext_page:yieldresponse.follow(next_page,self.parse)```解析思路:分析目標(biāo)頁面結(jié)構(gòu),找到包含名言、作者和頁面標(biāo)題的HTML元素及其路徑。使用XPath選擇器定位這些元素并提取文本內(nèi)容。定義一個`QuoteItem`類,包含對應(yīng)的字段。在Spider的`parse()`方法中,遍歷頁面中所有名言塊,為每個塊創(chuàng)建一個`QuoteItem`實例,填充字段,并`yield`返回。同時,檢查是否存在“下一頁”鏈接,如果存在則`yield`一個`Request`去爬取下一頁。四、編程題1.```pythonimportscrapyclassQuotesSpider(scrapy.Spider):name='quotes_spider'start_urls=['/page/1/']custom_settings={'ROBOTSTXT_OBEY':True,}defparse(self,response):self.log(f'Parsingpage:{response.url}')forquote_blockinresponse.xpath('//div[@class="quote"]'):item={'quote':quote_block.xpath('.//span[@class="text"]/text()').get(),'author':quote_block.xpath('.//small[@class="author"]/text()').get(),'top_level_heading':response.xpath('//h1/text()').get()}yielditem#ExtractnextpageURLusingXPathrelativetocurrentpagenext_page=response.xpath('//li[@class="next"]/a/@href').get()ifnext_page:#UseabsoluteURLifrelativeURLdoesn'tstartwith'/'ifnotnext_page.startswith('/'):base_url="/"next_page=base_url+next_pageyieldscrapy.Request(next_page,callback=self.parse)```解析思路:創(chuàng)建`QuotesSpider`類,設(shè)置`name`和`start_urls`。在`parse()`方法中,使用XPath提取每條名言的`span`文本作為`quote`,提取`small`標(biāo)簽文本作為`author`,提取頁面標(biāo)題`h1`文本作為`top_level_heading`。將提取的數(shù)據(jù)以字典形式(Item)返回。檢查頁面中是否存在指向下一頁的鏈接(通過`//li[@class="next"]/a/@href`選擇器),如果存在,則使用`response.follow()`方法構(gòu)建一個請求對象,并將`self.parse`作為回調(diào)函數(shù),繼續(xù)遞歸爬取后續(xù)頁面。注意處理相對URL的情況。2.```pythonimportpymongofromscrapy.pipelines.filesimportFilesPipelinefromscrapyimportItem,FieldfrompymongoimportMongoClientclassQuoteItem(Item):quote=Field()author=Field()top_level_heading=Field()marked=Field()#AddafieldtomarkspecialquotesclassMongoDBPipeline:def__init__(self,mongo_uri,mongo_db):self.mongo_uri=mongo_uriself.mongo_db=mongo_db@classmethoddeffrom_crawler(cls,crawler):returncls(mongo_uri=crawler.settings.get('MONGO_URI'),mongo_db=crawler.settings.get('MONGO_DB','scrapy_db'))defopen_spider(self,spider):self.client=MongoClient(self.mongo_uri)self.db=self.client[self.mongo_db]defclose_spider(self,spider):self.client.close()defprocess_item(self,item,spider):#Checkifthequotecontainsthekeyword"love"marked="love"initem.get('quote','').lower()ifitem.get('quote')elseFalseitem['marked']=marked#Updatetheitemwiththemarkstatus#Insertorupdatethedocumentself.db.quotes.update_one({'author':item['author'],'quote':item['quote']},#Uniqueidentifier{'$setOnInsert':item},#Datatoinsertifnotfoundupsert=True#Insertifnotexists)returnitem```解析思路:首先定義一個`QuoteItem`類,增加一個`marked`字段用于標(biāo)記特定條件下的Item。然后創(chuàng)建`MongoDBPipeline`類。在`from_crawler`類方法中,從`settings.py`獲取MongoDB連接URI和數(shù)據(jù)庫名稱。在`open_spider`方法中,建立MongoDB客戶端連接。在`close_spider`方法中,關(guān)閉連接。在核心`process_item`方法中:1.檢查Item的`quote`字段是否包含關(guān)鍵詞"love"(不區(qū)分大小寫),并將結(jié)果存儲在Item的`marked`字段中。2.使用MongoDB的`update_on
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年甘肅建筑職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫參考答案詳解
- 2026年河南林業(yè)職業(yè)學(xué)院單招職業(yè)傾向性測試題庫及完整答案詳解1套
- 2026年山西衛(wèi)生健康職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案詳解
- 2026年遼源職業(yè)技術(shù)學(xué)院單招綜合素質(zhì)考試題庫參考答案詳解
- 2026年山東文化產(chǎn)業(yè)職業(yè)學(xué)院單招職業(yè)技能測試題庫參考答案詳解
- 2026年蘭州資源環(huán)境職業(yè)技術(shù)大學(xué)單招綜合素質(zhì)考試題庫帶答案詳解
- 上市銀行面試題庫及答案
- 水電站渠道加固承包協(xié)議書范本
- 2025年北京郵電大學(xué)人工智能學(xué)院招聘備考題庫(人才派遣)及完整答案詳解1套
- 2025年崇州市人民醫(yī)院醫(yī)共體成員單位自主招聘(補充招聘)備考題庫及答案詳解一套
- 項目監(jiān)理部監(jiān)理周報
- 探槽地質(zhì)編錄工作方法
- 光伏工程資料表格模板
- GB/T 41123.2-2021無損檢測工業(yè)射線計算機層析成像檢測第2部分:操作和解釋
- GB/T 17636-1998土工布及其有關(guān)產(chǎn)品抗磨損性能的測定砂布/滑塊法
- GB/T 17612-1998封閉管道中液體流量的測量稱重法
- GB/T 10609.2-1989技術(shù)制圖明細(xì)欄
- 配電系統(tǒng)標(biāo)識
- 基礎(chǔ)醫(yī)學(xué)概論復(fù)習(xí)講義
- 醫(yī)院檢驗科冰箱溫度登記表
- DL∕T 617-2019 氣體絕緣金屬封閉開關(guān)設(shè)備技術(shù)條件
評論
0/150
提交評論