Python程序設(shè)計課件第14章網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)_第1頁
Python程序設(shè)計課件第14章網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)_第2頁
Python程序設(shè)計課件第14章網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)_第3頁
Python程序設(shè)計課件第14章網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)_第4頁
Python程序設(shè)計課件第14章網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、初識網(wǎng)絡(luò)爬蟲網(wǎng)絡(luò)爬蟲的常用技術(shù)網(wǎng)絡(luò)爬蟲開發(fā)常用框架第14章 網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)參考書目Python 程序設(shè)計初識網(wǎng)絡(luò)爬蟲第14章 網(wǎng)絡(luò)爬蟲應(yīng)用開發(fā)參考書目Python目錄初識網(wǎng)絡(luò)爬蟲網(wǎng)絡(luò)爬蟲的常用技術(shù)網(wǎng)絡(luò)爬蟲開發(fā)常用框架這里說明圖片內(nèi)容 目錄初識網(wǎng)絡(luò)爬蟲這里說明圖片內(nèi)容 初識網(wǎng)絡(luò)爬蟲網(wǎng)絡(luò)爬蟲的常用技術(shù)網(wǎng)絡(luò)爬蟲開發(fā)常用框架目錄這里說明圖片內(nèi)容 初識網(wǎng)絡(luò)爬蟲目錄這里說明圖片內(nèi)容 初識網(wǎng)絡(luò)爬蟲1 網(wǎng)絡(luò)爬蟲概述網(wǎng)絡(luò)爬蟲,即WebSpider。如果把互聯(lián)網(wǎng)比喻成一個蜘蛛網(wǎng),那么Spider就是在網(wǎng)上爬來爬去的蜘蛛。網(wǎng)絡(luò)蜘蛛是通過網(wǎng)頁的鏈接地址來尋找網(wǎng)頁的。即讀取網(wǎng)頁的內(nèi)容,找到在網(wǎng)頁中的其它鏈接地址,然后

2、通過這些鏈接地址尋找下一個網(wǎng)頁,一直循環(huán)下去,把互聯(lián)網(wǎng)上所有的網(wǎng)頁都抓取下來。互聯(lián)網(wǎng)中最有價值的便是數(shù)據(jù),爬蟲就是高效地挖掘這些寶藏的方法。初識網(wǎng)絡(luò)爬蟲1 網(wǎng)絡(luò)爬蟲概述網(wǎng)絡(luò)爬蟲,即WebSpider初識網(wǎng)絡(luò)爬蟲2 網(wǎng)絡(luò)爬蟲的分類捜索引擎抓取系統(tǒng)(Baidu、等)的重要組成部分。目的是將互聯(lián)網(wǎng)上的網(wǎng)頁下載到本地,形成一個互聯(lián)網(wǎng)內(nèi)容的鏡像備份。局限性:通用搜索引擎所返回的結(jié)果都是網(wǎng)頁基于關(guān)鍵字的檢索,無法準(zhǔn)確理解用戶的具體需求通用爬蟲“面向特定主題需求”的一種網(wǎng)絡(luò)爬蟲程序聚焦爬蟲在實施網(wǎng)頁抓取時會對內(nèi)容進行處理篩選應(yīng)用于對特定信息的爬取,為某一類特定的人群提供服務(wù)聚焦爬蟲初識網(wǎng)絡(luò)爬蟲2 網(wǎng)絡(luò)爬蟲的

3、分類捜索引擎抓取系統(tǒng)(Baidu、初識網(wǎng)絡(luò)爬蟲3 網(wǎng)絡(luò)爬蟲的基本原理爬蟲就是發(fā)送請求獲取網(wǎng)站內(nèi)容并從中提取數(shù)據(jù)的自動化程序。其中請求、提取、自動化是爬蟲的關(guān)鍵,網(wǎng)絡(luò)爬蟲的基本流程如圖:初識網(wǎng)絡(luò)爬蟲3 網(wǎng)絡(luò)爬蟲的基本原理爬蟲就是發(fā)送請求獲取網(wǎng)站內(nèi)初識網(wǎng)絡(luò)爬蟲網(wǎng)絡(luò)爬蟲的常用技術(shù)網(wǎng)絡(luò)爬蟲開發(fā)常用框架目錄這里說明圖片內(nèi)容 初識網(wǎng)絡(luò)爬蟲目錄這里說明圖片內(nèi)容 網(wǎng)絡(luò)爬蟲的常用技術(shù)網(wǎng)絡(luò)爬蟲是用于數(shù)據(jù)采集的一門技術(shù),可以幫助我們自動地進行信息的獲取與篩選。網(wǎng)絡(luò)爬蟲常用技術(shù):網(wǎng)絡(luò)請求、headers處理、網(wǎng)絡(luò)超時、代理服務(wù)以及BeautifulSoup等。網(wǎng)絡(luò)爬蟲的常用技術(shù)網(wǎng)絡(luò)爬蟲是用于數(shù)據(jù)采集的一門技術(shù),可以幫

4、助網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求Python中實現(xiàn)HTTP網(wǎng)絡(luò)請求常見的三種方式:urllib、urllib3以及requests。1.urllib庫urllib庫是Python中一個最基本的網(wǎng)絡(luò)請求庫??梢阅M瀏覽器的行為,向指定的服務(wù)器發(fā)送一個請求,并可以保存服務(wù)器返回的數(shù)據(jù)。在Python3的urllib庫中,所有和網(wǎng)絡(luò)請求相關(guān)的方法,都被集中到urllib.request模塊下網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求Pyt網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求(1)urlopen()函數(shù)urllib.request.urlopen(

5、)函數(shù)用于實現(xiàn)對目標(biāo)url的訪問。urllib.request.urlopen(url, data=None, timeout, *, cafile=None, capath=None, cadefault=False, context=None)url 參數(shù):目標(biāo)資源在網(wǎng)路中的位置??梢允且粋€表示URL的字符串(如:/)。data參數(shù):data用來指明發(fā)往服務(wù)器請求中的額外的參數(shù)信息(如:在線翻譯,在線答題等提交的內(nèi)容),data默認(rèn)是None,此時以GET方式發(fā)送請求;當(dāng)用戶給出data參數(shù)的時候,改為POST方式發(fā)送請求。timeout:設(shè)置網(wǎng)站的訪問超時時間cafile、capath、

6、cadefault 參數(shù):用于實現(xiàn)可信任的CA證書的HTTP請求。(基本上很少用)context參數(shù):實現(xiàn)SSL加密傳輸。(基本上很少用)網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求(1)網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求(2)返回處理方法詳解urlopen返回對象提供方法:1)read() , readline() ,readlines() , fileno() , close() :對HTTPResponse類型數(shù)據(jù)進行操作2)info():返回HTTPMessage對象,表示遠(yuǎn)程服務(wù)器返回的頭信息3)getcode():返回Http狀態(tài)碼。如果是http請求

7、,200代碼表示請求成功完成;404代碼表示網(wǎng)址未找到。4)geturl():返回請求的url網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求(2)網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求【例】利用urllib通過urlopen方式讀取百度首頁。#導(dǎo)入模塊from urllib import request#打開指定需要爬取的網(wǎng)頁resp = request.urlopen()#讀取網(wǎng)頁代碼,并輸出print(resp.read()網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求【例】網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求2urllib3庫Urllib

8、3是一個功能強大,條理清晰,用于HTTP客戶端的Python庫。Urllib3提供了很多python標(biāo)準(zhǔn)庫urllib里所沒有的重要特性,比如線程安全、連接池、客戶端SSL/TLS驗證、文件分部編碼上傳、協(xié)助處理重復(fù)請求和HTTP重定位、支持壓縮編碼、支持HTTP和SOCKS代理等。安裝:pip install urllib3urllib3主要使用連接池進行網(wǎng)絡(luò)請求的訪問,所以訪問之前我們需要創(chuàng)建一個連接池對象。網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求2u網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求【例】利用urllib3通過request方式讀取百度首頁#導(dǎo)入模塊im

9、port urllib3#創(chuàng)建PoolManager對象,用于處理與線程池的連接以及線程安全的所有細(xì)節(jié)pm = urllib3.PoolManager()#對需要爬取的網(wǎng)頁發(fā)送請求resp = pm.request(GET, )#讀取網(wǎng)頁代碼,并輸出print(resp.data)網(wǎng)絡(luò)爬蟲的常用技術(shù)1 Python實現(xiàn)HTTP網(wǎng)絡(luò)請求【例】網(wǎng)絡(luò)爬蟲的常用技術(shù)2 請求headers處理2 請求headers處理有時在請求一個網(wǎng)頁內(nèi)容時,發(fā)現(xiàn)無論通過GET或者是POST以及其他請求方式,都會出現(xiàn)403錯誤。這種現(xiàn)象多數(shù)是由于服務(wù)器拒絕了您的訪問,那是因為這些網(wǎng)頁為了防止惡意采集信息,所使用的反爬蟲

10、設(shè)置。可以通過模擬瀏覽器的頭部信息來進行訪問,這樣就能解決以上反爬設(shè)置的問題。網(wǎng)絡(luò)爬蟲的常用技術(shù)2 請求headers處理2 請求head網(wǎng)絡(luò)爬蟲的常用技術(shù)2 請求headers處理【例】通過模擬瀏覽器的頭部信息來進行訪問示例。#導(dǎo)入模塊import requests#創(chuàng)建需要爬取網(wǎng)頁的地址url = /創(chuàng)建頭部信息,根據(jù)當(dāng)前瀏覽器版本進行復(fù)制即可headers = User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Saf

11、ari/537.36#發(fā)送網(wǎng)絡(luò)請求resp = requests.get(url,headers=headers)#以字節(jié)流形式打印網(wǎng)頁源碼print(resp.content.decode(utf-8)網(wǎng)絡(luò)爬蟲的常用技術(shù)2 請求headers處理【例】通過模擬瀏網(wǎng)絡(luò)爬蟲的常用技術(shù)3 網(wǎng)絡(luò)超時有些網(wǎng)絡(luò)爬蟲的請求可能因為網(wǎng)絡(luò)原因無法得到響應(yīng)。因此,我們可以手動設(shè)置超時時間。當(dāng)請求超時后,可以采取進一步措施,例如選擇直接丟棄該請求或者再重新請求一次。#導(dǎo)入模塊import requests#循環(huán)發(fā)送請求100次for a in range(1,100):#捕獲異常try:#發(fā)送網(wǎng)絡(luò)請求,設(shè)置超時為

12、0.5秒resp = requests.get(,timeout=0.5)print(resp.status_code)except Exception as e:print(異常:+str(e)網(wǎng)絡(luò)爬蟲的常用技術(shù)3 網(wǎng)絡(luò)超時有些網(wǎng)絡(luò)爬蟲的請求可能因為網(wǎng)絡(luò)網(wǎng)絡(luò)爬蟲的常用技術(shù)4 代理服務(wù)在爬取網(wǎng)頁的過程中,經(jīng)常會出現(xiàn)不久前可以爬取的網(wǎng)頁現(xiàn)在無法爬取的情況,這是因為IP被爬取網(wǎng)站的服務(wù)器所屏蔽。此時代理服務(wù)可以解決該麻煩。#導(dǎo)入模塊import requests#設(shè)置代理IP與對應(yīng)的端口號proxy = http:32:8080,https:32:8080#對要爬取的網(wǎng)頁發(fā)送網(wǎng)絡(luò)請求resp =

13、requests.get(, proxy=proxy)print(resp.content)網(wǎng)絡(luò)爬蟲的常用技術(shù)4 代理服務(wù)在爬取網(wǎng)頁的過程中,經(jīng)常會出現(xiàn)網(wǎng)絡(luò)爬蟲的常用技術(shù)5 HTML解析之BeautifulSoupBeautifulSoup是個用于從HTML和XML文件中提取數(shù)據(jù)的Python庫。BeautifulSoup提供一些簡單的、函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能。它是一個工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù)。Beautiful Soup自動將輸入文檔轉(zhuǎn)換為Unicode編碼,輸出文檔轉(zhuǎn)換為utf-8編碼。網(wǎng)絡(luò)爬蟲的常用技術(shù)5 HTML解析之BeautifulSou網(wǎng)絡(luò)爬

14、蟲的常用技術(shù)5 HTML解析之BeautifulSoup1. Beautiful Soup 的安裝推薦使用Beautiful Soup 4。導(dǎo)入模塊:pip install beautifulsoup4網(wǎng)絡(luò)爬蟲的常用技術(shù)5 HTML解析之BeautifulSou網(wǎng)絡(luò)爬蟲的常用技術(shù)5 HTML解析之BeautifulSoup2.解析器的優(yōu)缺點網(wǎng)絡(luò)爬蟲的常用技術(shù)5 HTML解析之BeautifulSou網(wǎng)絡(luò)爬蟲的常用技術(shù)5 HTML解析之BeautifulSoup3.BeautifulSoup的安裝Python默認(rèn)是沒有安裝BeautifulSoup的模塊,用pip安裝。pip install l

15、xml對于解析方式選擇更為快捷,容錯能力強的lxml方式,故還需安裝lxml。導(dǎo)入模塊:pip install beautifulsoup4網(wǎng)絡(luò)爬蟲的常用技術(shù)5 HTML解析之BeautifulSou網(wǎng)絡(luò)爬蟲的常用技術(shù)5 HTML解析之BeautifulSoup4. BeautifulSoup的使用(1)導(dǎo)入bs4庫,然后創(chuàng)建一個模擬HTML代碼的字符串。#導(dǎo)入模塊from bs4 import BeautifulSouphtml_doc = 中國農(nóng)業(yè)大學(xué)Welcome to CAU Good Good Study 網(wǎng)絡(luò)爬蟲的常用技術(shù)5 HTML解析之BeautifulSou網(wǎng)絡(luò)爬蟲的常用技術(shù)

16、5 HTML解析之BeautifulSoup(2)創(chuàng)建BeautifulSoup對象,并指定解析器為lxml,最后通過打印的方式將解析的HTML代碼顯示在控制臺當(dāng)中。soup = BeautifulSoup(html_doc, features=lxml)print(soup)運行結(jié)果:中國農(nóng)業(yè)大學(xué)Welcome to CAUGood Good Study網(wǎng)絡(luò)爬蟲的常用技術(shù)5 HTML解析之BeautifulSou初識網(wǎng)絡(luò)爬蟲網(wǎng)絡(luò)爬蟲的常用技術(shù)網(wǎng)絡(luò)爬蟲開發(fā)常用框架目錄這里說明圖片內(nèi)容 初識網(wǎng)絡(luò)爬蟲目錄這里說明圖片內(nèi)容 網(wǎng)絡(luò)爬蟲開發(fā)常用框架1網(wǎng)絡(luò)爬蟲開發(fā)常用框架概述爬蟲框架就是一些爬蟲項目的半成

17、品,可以將一些爬蟲常用的功能寫好。然后留下一些接口,在不同的爬蟲項目中,調(diào)用適合自己項目的接口,再編寫少量的代碼實現(xiàn)自己需要的功能。Scrapy爬蟲框架PySpider爬蟲框架Crawley爬蟲框架網(wǎng)絡(luò)爬蟲開發(fā)常用框架1網(wǎng)絡(luò)爬蟲開發(fā)常用框架概述爬蟲框架就是一網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用Scrapy是一個Python編寫的開源網(wǎng)絡(luò)爬蟲框架。它是一個被設(shè)計用于爬取網(wǎng)絡(luò)數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)的框架。scrapy框架的作用是少量的代碼,就能夠快速的抓取。網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用Scr網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用1.Scra

18、py的工作流程(1)圖中帶箭頭線條表示數(shù)據(jù)的傳遞。(2)注意圖中中間件的位置,決定了其使用的時機。(3)注意其中引擎的位置,所有的模塊之前相互獨立,只和引擎進行交互。網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用1.S網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用1.Scrapy的工作流程可以看出Scrapy的3個內(nèi)置對象:1)request請求對象:由url method、post_data 、headers等構(gòu)成。2)response響應(yīng)對象:由url、body、status、headers等構(gòu)成。3)item數(shù)據(jù)對象:本質(zhì)是個字典。網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)

19、爬蟲框架的使用1.S網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用2Scrapy主要組件網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用2S網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用3.Scrapy安裝與使用打開命令提示符窗口,輸入“pip install Scrapy”命令,安裝Scrapy框架安裝完成后在命令行中輸入“scrapy”來檢測Scrapy中否安裝成功。Scrapy框架在安裝的過程中,同時會將lxrnl與pyOpenSSL模塊也安裝在Python環(huán)境當(dāng)中。網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用3.S網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)

20、爬蟲框架的使用4.安裝PyWin32模塊使用windows系統(tǒng),運行Scrapy項目需要pywin32這個模塊,而在安裝Scrapy時,并沒有安裝些模塊。需執(zhí)行以下代碼:pip install pywin32import pywin32_system32網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用4.安網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用5.創(chuàng)建Scrapy項目在任意路徑下創(chuàng)建一個保存項目的文件夾,例如,在“C:PycharmProjects”文件夾內(nèi)運行命令行窗口,然后輸入“scrapy startproject scrapyDemo”即可創(chuàng)建一個名稱為“scra

21、pyDemo”的項目網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用5.創(chuàng)網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用項目打開完成后,左側(cè)項目的目錄結(jié)構(gòu)如下:文件作用:scrapy.cfg:項目的配置文件。settings.py:設(shè)置文件,UA,啟動管道。piplines.py:管道,保存數(shù)據(jù)。middlewares.py:自定義中間件的文件。items.py:自己預(yù)計需要爬取的內(nèi)容。網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用項目打網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用6.創(chuàng)建爬蟲通過命令創(chuàng)建出爬蟲文件,爬蟲文件為主要的代碼作業(yè)文件,通常一個網(wǎng)站的爬

22、取動作都會在爬蟲文件中進行編寫。在項目路徑下執(zhí)行:scrapy genspider 在創(chuàng)建爬蟲時,首先需要創(chuàng)建一個爬蟲模塊的文件,該文件需要放置在spiders文件夾當(dāng)中。爬蟲模塊是用于從一個網(wǎng)站或多個網(wǎng)站中爬取數(shù)據(jù)的類,它需要繼承scrapy.Spider類。命令如下:C:PycharmProjectsscrapyDemoscrapyDemoscrapy genspider jszx Created spider jszx using template basic in module: scrapyDemo.spiders.jszx網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用6.創(chuàng)網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用在通過命令行創(chuàng)建爬蟲文件,在PyCharm的目錄結(jié)構(gòu)如圖:網(wǎng)絡(luò)爬蟲開發(fā)常用框架2 Scrapy網(wǎng)絡(luò)爬蟲框架的使用在通過

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論