




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
IT運維專家題庫與考試系統(tǒng)建設(shè)技術(shù)方案
錄
1項目技術(shù)方案3
1.1服務(wù)總體理解3
1.1.1項目背景介紹3
1.1.2項目服務(wù)目標(biāo)3
1.1.3項目服務(wù)原則3
1.2項目建設(shè)需求3
1.2.1總體建設(shè)內(nèi)容3
1.2.2功能建設(shè)需求5
試題自動獲取5
試題解析5
122.3智能試題歸檔及分類6
1.2.3項目服務(wù)需求6
1.3技術(shù)實現(xiàn)方案6
1.3.1互聯(lián)網(wǎng)試題獲取方案6
頁面解析6
頁面剔重下載13
文件下載18
信息歸檔22
1.3.2試題文檔轉(zhuǎn)換方案23
1.3.3試題解析方案25
L3.3.1試題語義解析26
1.3.4智能試題分類方案33
1.3.5試題歸檔方案34
2項目服務(wù)方案38
2.1項目服務(wù)期限38
2.2項目服務(wù)計劃38
2.3服務(wù)支撐體系39
2.3.1服務(wù)實施支撐39
故障修友服務(wù)39
系統(tǒng)巡檢服務(wù)43
版本管理和軟件補丁服務(wù)44
輔助故障定位服務(wù)45
技術(shù)資料服務(wù)45
技術(shù)支持服務(wù)45
2.3.2服務(wù)流程支撐46
2.3.2.1月艮務(wù)方式46
2.322問題優(yōu)先級46
2.3.2.3服務(wù)響應(yīng)47
2.324每月的總結(jié)48
2.325服務(wù)流程49
2.3.3服務(wù)團隊支撐49
人員備份機制49
2.4質(zhì)量控制能力5()
2.5項目服務(wù)考核51
2.6信息安全保密58
1項目技術(shù)方案
1.1服務(wù)總體理解
1.1.1項目背景介紹
根據(jù)集團公司《運維專家平臺智能化提升項目》的建設(shè)需求,為提高運維專家平臺的臼
動化、智能化的水平和能力,需建設(shè)運維專家試題庫能力,實現(xiàn)試題采集、試題答案解析、
試題智能分類功能。
1.1.2項目服務(wù)目標(biāo)
木次項目將針對運維專家平臺試題庫功能進(jìn)行增強開發(fā),切實提高系統(tǒng)自動化、智能化
水平,具體包括:
1、針對題庫依賴人工整理收集和分類,流程繁瑣且耗時耗力的現(xiàn)狀,試題庫系統(tǒng)的建
設(shè)預(yù)期可以極大提升試題獲取的效率,同時自動進(jìn)行分類整理。
2、針對試題答案匹配率低的問題,通過模型算法實現(xiàn)自動化答案匹配。
3、試題庫系統(tǒng)上線后,可以顯著提升試題量并有助于題庫分類標(biāo)準(zhǔn)化。
4、可為其他類似功能的系統(tǒng)開發(fā)建設(shè)作技術(shù)支撐。
1.1.3項目服務(wù)原則
本次項目的解決方案需需符合科學(xué)性,研究方案合理有效,具備創(chuàng)新性。
1.2項目建設(shè)需求
1.2.1總體建設(shè)內(nèi)容
本系統(tǒng)功能的目標(biāo)是結(jié)合互聯(lián)網(wǎng)采集,自動答案匹配,智能文本識別能力,打造完整運
維專家題庫。本功能主要研究內(nèi)容包括:
1通過開發(fā)自動化采集工具和人工結(jié)合的方式才比量獲取多個網(wǎng)絡(luò)平臺海量試題數(shù)據(jù)。
2)通過開發(fā)解析模塊,將試題與答案進(jìn)行一匹配,同步提供試題可靠性評估數(shù)據(jù),
為后續(xù)選題提供依據(jù)。
3)通過開發(fā)智能試題分類算法,將從各來源獲取的試題按照主機、數(shù)據(jù)庫、存儲、網(wǎng)
絡(luò)等運維專業(yè)進(jìn)行分類存諸。
運維專家試題庫需包括以下試題類別:
專業(yè)大類專業(yè)小類
主機及操作系統(tǒng)管理
網(wǎng)絡(luò)接入及管理
基礎(chǔ)設(shè)施類
存儲及備份
機房動力及環(huán)境
虛擬化技術(shù)
容器化技術(shù)
平臺組件類數(shù)據(jù)庫類
中間件類
分布式架構(gòu)類
業(yè)務(wù)質(zhì)量管理
業(yè)務(wù)連續(xù)性管理
業(yè)務(wù)服務(wù)類
私有云運營管理
流程管理類
DcvOps類監(jiān)控技術(shù)類
測試驗收類
發(fā)布變更類
運維工具及研發(fā)類
數(shù)據(jù)處理類
數(shù)據(jù)倉庫類
智能分析類
訓(xùn)練學(xué)習(xí)平臺類
AI算法類
1.2.2功能建設(shè)需求
L2.2.1試題自動獲取
試題采集功能采用互聯(lián)網(wǎng)自動采集方法,自動批量獲取試題,并獲取試題文件,底容包
括:
1.針對試題列表頁面,下載頁面,答案頁面,進(jìn)行自動數(shù)據(jù)采集。
2.支持定期數(shù)據(jù)采集,例如每月、每季度數(shù)據(jù)采集更新。
3.部分高質(zhì)量題目稀缺性高,質(zhì)量高網(wǎng)站進(jìn)行人工采集。
1.2.2.2試題解析
針對采集的試題進(jìn)行解析,將試題與答案進(jìn)行一一匹配同步提供試題可靠性評估數(shù)據(jù),
為后續(xù)選題提供依據(jù),包括以下內(nèi)容:
1.離線文檔編碼格式預(yù)處理,包括文字編碼轉(zhuǎn)化及文檔格式轉(zhuǎn)換,支持PDF、word,txt
多種格式轉(zhuǎn)換。
2.試題與答案匹配:支持多種文件排版的解析,并將試題與答案進(jìn)行準(zhǔn)確匹配。
3.試題與答案匹配率評估:針對試題答案匹配結(jié)果進(jìn)行數(shù)據(jù)評估,找出無法匹配答案,
或答案匹配錯誤的情況。
L2.2.3智能試題歸檔及分類
通過開發(fā)智能試題分類算法,將從各來源獲取的試題按照主機、數(shù)據(jù)庫、存儲、阿絡(luò)等
運維專業(yè)進(jìn)行分類存儲。
1.提取試題中的特征詞,建立試題的知識點與分類字典,用于試題知識點歸類及試題分
類。
2.采用分詞算法,對試題進(jìn)行分詞并構(gòu)建試題的詞頻矩陣
3.采用合適的算法,實現(xiàn)試題與分類字典相似度統(tǒng)計
4.確認(rèn)試題分類。
1.2.3項目服務(wù)需求
,配備專業(yè)的技術(shù)團隊支撐服務(wù),必要時需提供現(xiàn)場服務(wù)支撐;
/提供7*24小時服務(wù)支撐;
/積極做好試題庫的質(zhì)量校驗,保障試題可用性和質(zhì)量要求。
1.3技術(shù)實現(xiàn)方案
1.3.1互聯(lián)網(wǎng)試題獲取方案
針對公開的互聯(lián)網(wǎng)信息,提供完整高效的信息獲取方案,方案包括頁面解析、頁面剔重
下載、文件下載、歸檔等。
1.3.1.1頁面解析
BeautifulSoup介紹
BeautifulSoup提供一些簡單的、python式的用來處理導(dǎo)航、搜索、修改分析樹等功能。
特點
?簡單:它是一個工具箱,通過解析文檔為用戶提供需要抓取的數(shù)據(jù)
?BeautifulSoup自動將輸入文檔轉(zhuǎn)換為Unicode編碼,輸出文檔轉(zhuǎn)換為utf-8編
碼。
BeautifulSoup的安裝
?安裝pip(如果需要):sudoeasy_installpip
?安裝BeautifulSoup:sudopipinstallbeautifulsoup4
示例
本示例是抓取某公司的投資列表頁面,頁面如下圖:
16O0JHSW£O麗1&00TO
個人消費貸集合個人經(jīng)營貸集合個人消費雌合個人消費貸集合
171214-11171214-16171214-161712U-16
63兒2萬/6乂72萬32%48萬,1Z70萬19%2.68萬/14JOI萬30%5£6萬/1952萬
9.5%1210.5%3610.0%188.5%6
板內(nèi)吟年化)ifl日明?舊)為正種4年化JiflBIMIiAi密*1年化?取日明限歸)叫山利曄降化1◎目陰叫月)
168麗168和[?0加1e00JW
個人消費貸集合車輛周轉(zhuǎn)貸集合個人消費貨集合個人消費貨集合
171214-16171214-161712147617121476
|”》創(chuàng)>-次還本付息||等。:創(chuàng)|?HH創(chuàng)
0%08萬/G88萬0%Q8萬/4I2I萬OHQ8萬/0Q2萬0%000萬/5102萬
7.5%37.5%27.5%26.5%1
妁定利則年化)WQMMim妁定內(nèi)率1年化)iflUWHini的定1卿1年化)墓日m閃)081卿(年化1尊白穗如)
個人消費貸集合個人消費貸集合個人經(jīng)營貸集合個人消費貸集合
171214*15171214*15171214*15171214*14
[St本金]樽4創(chuàng)1等一砌[IMWBI
完成合0OQ8萬&V21255融毋完成.金■世用萬百元成金般14.95萬
7.5%27.5%310.5%2410.5%36
約定W典年化)項HWW舊)妁定利率1年化)哨評1年化)敏H期即川021卯(年化1"日班》(月)
確定獲取數(shù)據(jù)范圍
本示例是獲取項目列表,打開Chrome的調(diào)試欄,找到對應(yīng)的位置,如下圖:
▼<divclass="containerproject-list">
::before
divclassrow>-$0
::before父容器
▼<divclass="span3*'>
▼<aclass="invest-item"href="/Proiect/ProiectSet?
DroiectSetUniaueId=-108201712141100000.09500。12.0030000004'target=
??_blank">
▼<div>
?<divclass-'invest-item-title">-</div>
?<divclass-'invest-item-subtitle">~</div>
?<divclass-'progressproject-progress">-.</div>
?<pclass="project-info">~</p>
?<divclass="invest-item-features">?.</div>
</div>
</a>
</div>
?<divclass="span3M>..</div>
?<divclass="span3,,>~</div>
?<divclass="span3M>-</div>
?<divclass="span3H>-</div>
?<divclass="span3,,>_</div>
?<divclass="span3”>.v/div>
?<divclass=,'span3,,>~</div>
?<divclass="span3,,>-</div>
?<divclass="span3u>..</div>
?<divclass="span3">~</div>
?<divclass="span3,,>..</div>
::after
</div>
::after
</div>
導(dǎo)包
importsys
importjson
importurllib2asHttpUtils
importurllibasUrlUtils
frombs4importBeautifulSoup
獲取頁面信息(分頁)
defgethtml(page):
'獲取指定頁碼的網(wǎng)頁數(shù)據(jù)’
url='/Project/List
values={
'category':'',
'rate*:'
'range':'',
'page*:page
}
data=UrlUtils.urlencode(values)
#使用DebugLog
httphandler=HttpUtils.HTTPHandler(debuglevel=l)
httpshandler=HttpUtils.HTTPSHandler(debuglevel=l)
opener=HttpUtils.build_opener(httphandler,httpshandler)
HttpUtils.install_opener(opener)
request=HttpUtils.Request(url+'?"+data)
request.get_method=lambda:'GET'
try:
response=HttpUtils.urlopen(request,timeout=10)
exceptHttpUtils.URLError,err:
ifhasattr(err,'code'):
printerr.code
ifhasattr(err,'reason'):
printerr,reason
returnNone
else:
print'======HttprequestOK======*
relur-nresponse,redd(),decode(,uLf-8')
TIPS
?urlopen(url,data,timeout)
ourl:請求的URL
odata:訪問URL時要傳送的數(shù)據(jù)
otimeout:超時時間
?HttpUtils.build_opener(httphandler,httpshandler)
O開啟日志,將會在調(diào)試控制臺輸出網(wǎng)絡(luò)請求日志,方便調(diào)試
?必要的try-catch,以便可以捕獲到網(wǎng)絡(luò)異常
解析獲取的數(shù)據(jù)
倉11建BeautifulSoup對象
soup=BeautifulSoup(html,'html.parser')
獲取待遍歷的對象
#items是一個<listiteratorobjectat0xl0a4b9950>對象,不是一個list,但
是可以循環(huán)遍歷所有子節(jié)點。
items=soup.find(attrs={'class':'row')).children
遍歷子節(jié)點,解析并獲取所需參數(shù)
projectList=[]
foriteminitems:
ifitem=='\n':continue
#獲取需要的數(shù)據(jù)
title=item.find(attrs={'class':'title')).string.strip()
projectld=item.find(attrs={'class':'subtitle'}).string.strip()
projectType=item.find(attrs={'class':'invest-item-
subtitle'}).span.string
percent=item.find(attrs=<*class':'percent,})
state='Open'
ifpercentisNone:#融資已完成
percent='100%'
state='Finished'
totalAmount=item.find(attrs={'class':'project-
info'}).span.string.strip()
investedAmount=totalAmount
else:
percent=percent.string.strip()
state='Open'
decimalList=item.find(attrs={'class':'decimal-
wrap'}).find_all(attrs={'class':'decimal'))
totalAmount=decimalList[0].string
investedAmount=decimalList[l].string
investState=item.find(attrs={'class':'invest-item-type'})
ifinvestState!-None:
state=investState.string
profitspan=item.find(attrs={'class':'invest-item-
rate')).find(attrs={'class':'invest-item-profit'))
profitl=profitspan.next.strip()
profit2=profitspan.em.string.strip()
profit=profitl+profit2
term=item.find(attrs={'class':'invest-item-
maturity')).find(attrs={'class':'invest-item-profit'}).string.strip()
project={
'title':title,
'projectld':projectld,
'type':projectType,
'percent':percent,
'totalAmount':totalAmount,
,investedAmount':investedAmount,
'profit':profit,
'term':term,
'state':state
)
projectList.append(project)
輸出解析結(jié)果,如下:
B[
"term'-r'lS",
"investedAmount0:M18.30",
,,M,
totalAmount:"7.87',
“title“:”個人消費貸集合“,
"profit":M10.9V,
HaiM
projectld:171215-14"r
"percent":u43V,
“type”:”等fil本息”,
“state":“Open”
},
?Object{...
?Object{…},
?Object{..
00bject{..
?Object{..
?Object{..
?Object{…},
00bject{..
?Object{..
00bject{..
?Object{…}
TIPS
?解析html代碼,主要是運用了BeautifulSoup的幾大對象,Tag、
NavigableStringxBeautifulSoup.Comment
1.3.1.2頁面剔重下彝
自動收集和篩選信息的網(wǎng)絡(luò)爬蟲讓有效信息的流動性增強,讓我們更加高效地獲取信
息。隨著越來越多的信息顯現(xiàn)于網(wǎng)絡(luò),網(wǎng)絡(luò)爬蟲也越來越有用。
不同的網(wǎng)站間轉(zhuǎn)載內(nèi)容的情況很常見。即使在同一個網(wǎng)站,有時候不同的URL地址可
能對應(yīng)同一個頁面,或者存在同樣的內(nèi)容以多種方式顯示出來,所以,網(wǎng)頁需要按內(nèi)容做
文檔排重。
例如,一個企業(yè)商品搜索。搜商品名,有一家公司發(fā)的商品名字都一樣,結(jié)果這家公
司發(fā)的商品都顯示在前面,但是要求一家企業(yè)只顯示一條相似的商品在前面,可以把近似
重復(fù)的文檔權(quán)重降低,只;呆留一個文檔不降低權(quán)重。
判斷文檔的內(nèi)容重復(fù)有很多種方法,語義指紋的方法比較高效。語義指紋是直接提取
一個文檔的二進(jìn)制數(shù)組表示的語義,通過比較相等來判斷網(wǎng)頁是否重復(fù)。語義指紋是一個
很大的數(shù)組,全部存放在內(nèi)存會導(dǎo)致內(nèi)存溢出,普通的數(shù)據(jù)庫效率太低,所以采用內(nèi)存數(shù)
據(jù)庫BerkeleyDB。可以通過BerkeleyDB判斷該語義指紋是否已經(jīng)存在。另外一種方法是
通過布隆過濾器來判斷語義指紋是否重復(fù)。
提取網(wǎng)頁語義指紋的方法是:從凈化后的網(wǎng)頁中,選取最有代表性的一組關(guān)鍵詞,并
使用該關(guān)鍵詞組生成一個音義指紋。通過比較兩個網(wǎng)頁的語義指紋是否相同來判斷兩個網(wǎng)
頁是否相似。
網(wǎng)絡(luò)上一度出現(xiàn)過很多篇關(guān)于"羅玉鳳征婚”的新聞報道,具中的兩篇新聞內(nèi)容對比
如下表。
兩篇新聞內(nèi)容對比
文檔ID文檔1文檔2
標(biāo)也北大清華碩上北大的牛征姑女”1米4G科女征嫣求1米8減上力應(yīng)征杵如云
內(nèi)容24歲的羅KJ4,在匕海的頭發(fā)放門300份征嫣傳24歲的?'在上沏街頭發(fā)放門300份M研傳單
傳小htr近乎帶財?shù)臈l件,要求方方北人或清華項傳小1日了近7舟耨的條件,耍求朱方北大或清華北
I..身上1米76至1米為之東部沿海戶ISrfuVK1.身島1米76至1米83之間.東部沿海戶能向羅IJ4
風(fēng)本人.N(〃米46.中文大4學(xué)歷.幣:慶娛江人木人.小育1米46.中文大4學(xué)歷.近慶/江人it'U
此W外M絡(luò)密光質(zhì).引起很彩人的興趣.“傳大都外網(wǎng)絡(luò)球龍方?引起「很匕人的興趣."怔大都“打電
常打電話、發(fā)加信求證.或齊星W征。”羅K鳳說,話、發(fā)力自求證?或%是應(yīng)征,”羅K風(fēng)說,她黨日滿
她黨為涵意的卻客室無兒.“到11前為止只仃2個.籃的卻寥寥無幾.“到H皆為止只何2個.那還不足計
:還不足外刑滿怠”別滿《丁
對于這兩篇內(nèi)容相同的新聞,有可能提取出同樣的關(guān)鍵詞:"羅玉鳳""征婚""北
大""清華""碩士",這就表示這兩篇文檔的語義指紋也相同。
為了提高語義指紋的準(zhǔn)確性,需要考慮到同義詞,例如,"北京華聯(lián)"和"華聯(lián)商
廈”可以看成相同意義的詞。最簡單的判斷方法是做同義詞替換。把"開業(yè)之初,比這還
要多的質(zhì)疑的聲音環(huán)繞在北京華聯(lián)決策者的周圍"替換為"開業(yè)之初,比這還要多的質(zhì)疑
的聲音環(huán)繞在華聯(lián)商廈決策者的周圍”。
設(shè)計同義詞詞典的格式是:每行一個義項,前面是基本詞,后面是一個或多個被替換
的同義詞,請看下面的例子。
華聯(lián)商廈北京華聯(lián)華聯(lián)超市
這樣可以把“北京華聯(lián)"或"華聯(lián)超市"替換成"華聯(lián)商廈"。對指定文本,要從前
往后查找同義詞詞庫中每個要替換的詞,然后實施替換。同義詞替換的實現(xiàn)代碼分為兩
步。首先是查找Trie樹結(jié)構(gòu)的詞典過程。
publicvoidcheckPrefix(Stringsentence,intoffset,PrefixRetret){
if(sentence==null||root==null||"".equals(sentence)){
ret.value=Prefix.MisMatch;
ret.data=null;
ret.next=offset;
return;
)
ret.value=Preflx.MisMatcb"/初始返回值設(shè)為沒匹配上任何要替換的詞
TSTNodecurrentNode=root;
intcharindex=offset;
while(true){
if(currentNode==null){
return;
)
intcharComp=sentence.charAt(charIndex)-currentNode.splitchar;
if(charComp==0){
charlndex++;
if(currentNode.data!=null){
ret.data=currentNode.data;〃彳層選最長匹酉己詞
ret.value=Prefix.Match;
ret.next=charindex;
}
if(charindex==sentence.length()){
return;〃已經(jīng)匹配完
}
currentNode=currentNode.eqKID;
}elseif(charComp<0){
currentNode=currentNode.loKID;
}else{
currentNode=currentNode.hiKID;
)
}
}
然后是同義詞替換過程。
/腐入待替換的文本,返回替換后的文本
publicstaticStringreplace(Stringcontent)throwsException(
intlen=content.length();
StringBuilderret=newStringBuilder(len);
SynonymDic.PrefixRetmatchRet=newSynonymDic.PrefixRet(nullnull);
for(inti=0;i<len;){
〃檢查是否存在從當(dāng)前位置開始的同義詞
SynonymDic.checkPrefix(content,i,matchRet);
if(matchRet.value==SynonymDic.Prefix.Match)//如果匹配上,則替換同義詞
{
ret.append(matchRet.data)"/把替換詞輸出到結(jié)果
i=matchRet.ngiX,,/加一個匹配位置
)
else〃如果沒有匹配上,則從下一個字符開始匹配
{
ret.append(content.charAt(i));
++i;
)
}returnret.toString();
)
語義指紋生成算法如下所示。
?第1步:將每個網(wǎng)頁分詞表示成基于詞的特征項,使用TF*IDF作為每個特征項的權(quán)
值。地名、專有名詞等,名詞性的詞匯往往有更高的語義權(quán)重。
?第2步:將特征項按照詞權(quán)值排序。
?第3步:選取前n個特征項,然后重新按照字符排序。如果不排序,關(guān)鍵詞就找不到
對應(yīng)關(guān)系。
?第4步:調(diào)用MD5算法,將每個特征項串轉(zhuǎn)化為一個128位的串,作為該網(wǎng)頁的指
紋。
調(diào)用fseg.result.FingerPrint中的方法。
Stringfingerprint=getFingerPrint(""J昨日,省城淵明北路一名17歲的少年在6
樓晾毛巾時失足墜樓,摔在樓下的一輛面包車上。面包車受沖擊變形時吸收了巨大的反作
用力能量,從而“救"了少年一命。目前,傷者尚無生命危險。據(jù)T立目擊者介紹,事故
發(fā)生在下午2時40分許,當(dāng)時這名在某美發(fā)店工作的少年正站在陽臺上晾毛巾,因雨天陽
臺濕滑而不小心摔下。記者來到搶救傷者的醫(yī)院了解到,這名少年名叫李嘉誠,今年17
歲,系豐城市人。李嘉誠受傷后,他表姐已趕到醫(yī)院陪護。據(jù)醫(yī)生介紹,傷者主要傷在頭
部,具體傷情還有待進(jìn)一步檢查。");
StringmdSValue=showBytes(getMDS(fingerprint));
System.out.println("FingerPrint:"+fingerPrint+"md5:"+md5Value);
MD5可以將字符串轉(zhuǎn)化成幾乎無沖突的hash值,但是MD5速度比較慢,
MurmurHash或者JenkinsHash也可以生成沖突很少的hash值,在Lucene的企'11,搜索軟
件Solrl.4版本中提供了JenkinsHash實現(xiàn)的語義指紋,叫作Lookup3Signature。調(diào)月
MurmurHash生成64位的Hash值的代礫
1.3.1.3文件下載
就以百度圖片為例,當(dāng)你如下圖在百度圖片里搜索一個主題時,會為你跳出一大堆相關(guān)的圖
片。
還有如果你想學(xué)英語,找到一個網(wǎng)站有很多mp3的聽力資源,這些可能都是你想獲取的內(nèi)容。
現(xiàn)在是一個互聯(lián)網(wǎng)的時代,只要你去找,基本上能找到你想要的任何資源。
怎樣識別網(wǎng)頁中的資源:
以上面搜索到的百度圖片為例。找到了這么多的內(nèi)容,當(dāng)然你可以通過手動一張張的去保存,
但這樣做既費力又費事。你當(dāng)然更希望通過程序自動去下載所找到的資源。要想代碼識別這
些資源,就要告訴代碼這些資源有哪些特征,怎樣在網(wǎng)頁中找到它們。
打開瀏覽器的調(diào)試功能(不同瀏覽器可能有差別,不知道的百度一下吧1找出網(wǎng)頁中你想
要下載資源的路徑,如下圖所示。如果有許多類似資源需要下載,則要找到識別這些資源地
址的規(guī)律,然后告訴代碼。
如果不清楚規(guī)律怎么找的讀者,可以看看《BcautifulSoup解析HTML》這篇文章。
OBeautifulSouD解析HTML
Bai痣E9片風(fēng)景
網(wǎng)頁曬貼吧知?BSRR!片暖頻39支座■備■
十工內(nèi)DeeST81t-M3〃,mc?bgq(m/M?E,&q2b?duMeb&<ra&cmJ223kMl2?^,A/2Mut£:&Ma??一
A]E.E?ntJAuatiSov^onC0rSccunty
",1r8?”4Jy??43?
?a,“ctoe:”xy“?Wt:■「*>;'丫<4心工A_〃
2F4A班工5454a
eletent
鯉rp?〃蟲:塢;
?u<。:5”
MS0i;beigiit:Z17*oi;becKgrouM-color:?c8tK9<MIE:2170XJ
■rlnd(M.sp<M.XMdMr?()x!?£!<*curd-color:fTBcatxM.
iyurlhttp$://ssl.M5t9tic.co?/?iM,yiMg(「R/JX八g「c
^QlVcMdcpcMCIHFWmy/it/Block;
即9。皿>Qtcccj
</?iv>
■"?!"_1■<{rewlt2X99<,c
-sp^tclttt**l*g-wover“1?”g?:Fr£.M
ttyledisplay:block;KT>
HcU51-iwgite*faddXex;Pi04;28px;co
3
資源下載方法一:
代碼很簡單,直接上代碼:
fromurllib.requeslimporturlretrieve
urketrieve("圖片URL","./image.jpg")
直接通過uHrelrieve函數(shù)就把URL對應(yīng)的圖片給下載到當(dāng)前文件夾(./)中了,并把圖片命名
為image.jpg。
夕Python爬蟲之文件下載與
《資源下載方法一
4
資源下載方法二:
還是直接看代碼:
importrequests
resource=requesls.gel("圖片URL")
withopen("./image.jpg",mode="wb")asfh:
fh.write(resource.content)
此下載方法要安裝pythonE勺requests庫。從功能上來說與下載方法一是一樣的。pylhon庫的安
裝方法用pip就好。很簡單,這里都不啰嗦了。
(Python爬蟲之文件下啜
k資源下載方法二)
5
資源下載方法三:
看代碼:
importrequests
resource=requesls.gel("圖片URL”,slream=True)
withopen("./image.jpg'\mode="wb")asfh:
forchunkinresource.iter_con(ent(chunk_size=100):
fh.write(chunk)
此方法與下載方法二的不同之處在于在get方法調(diào)用時使用了參數(shù)【stream二True]。而在寫入
的文件的時候是分塊寫入的。
什么意思呢:
前兩種方法是把一個文件全部下載到內(nèi)存后,再一起寫入到硬盤文件中。
方法三是下載一定的量(這里指的是10(序節(jié))后,就寫入到硬盤文件中,直到全部寫完。
第三種方法的好處是,如果在下載大容量文件時,不會造成內(nèi)存的過度使用。
dPython爬蟲之文件下
資源下載方法三
6
資源下載說明一:
上述的代碼都是通過下載圖片度源為例子的,但所有其它度源,如文檔,電影等的下載方式
是一樣的。關(guān)鍵是要正確的識別出網(wǎng)頁中資源所對應(yīng)的URL地址才能夠正確的下載(因為有
些資源是用的相對路徑或加密后的路徑1
我Python爬蟲之文件下
資源下載說明一
7
資源下載說明二:
上面例子中的代碼都是下載單一資源的。如果要在同一網(wǎng)頁中下載多個資源的思路如下:
I.找出要下載資源的URL,并形成一個資源集合;
2.把下載函數(shù)中的資源URL與保存路徑參數(shù)化;
3.遍歷資源集合,依靠循環(huán)調(diào)用下載函數(shù)來達(dá)到多個資源下載的目的。
爐Python爬蟲之文件下
資源下載說明二
1.3.1.4信息歸檔
網(wǎng)絡(luò)爬蟲是自動獲取網(wǎng)絡(luò)信息的主要工具,但是由于網(wǎng)絡(luò)信息歸檔有較為嚴(yán)格的范圍限
定和質(zhì)量要求,因此還需輔之以人工采集和選擇,才能基本實現(xiàn)網(wǎng)絡(luò)信息歸檔的任務(wù)。
(一)網(wǎng)絡(luò)爬蟲方法
網(wǎng)絡(luò)爬蟲是一種按照一定規(guī)則、自動抓取互聯(lián)網(wǎng)信息的程序,可分為聚焦爬蟲和通用爬
蟲。通用爬蟲程序以某一個節(jié)點為起點,一旦遇到超鏈接就繼續(xù)爬行,以此類推,便可以在
服務(wù)器中抓取大量網(wǎng)頁信息資源,此種爬蟲程序與全面采集法相對應(yīng)。聚焦爬蟲是一個自動
下載網(wǎng)頁的程序,它根據(jù)既定的抓取目標(biāo),有選擇地訪問萬維網(wǎng)上的網(wǎng)頁與相關(guān)的鏈接,獲
取所需要的信息。與通用爬蟲不同,聚焦爬蟲并不追求大的覆蓋面,而是將目標(biāo)定為抓取某
一特定主題內(nèi)容相關(guān)的網(wǎng)頁,為面向主題的用戶查詢準(zhǔn)備數(shù)據(jù)資源。
(二)人工方法
由于自身功能的限制,網(wǎng)絡(luò)爬蟲搜集到的網(wǎng)絡(luò)信息難以全部符合歸檔的要求,同時也有
可能遺漏應(yīng)該歸檔的網(wǎng)絡(luò)信息。為保證檔案的齊全和完整,就需要采用人工的方式進(jìn)行補充
采集,或者剔除無用信息。
網(wǎng)絡(luò)的大規(guī)模應(yīng)用使得各種網(wǎng)絡(luò)信息呈現(xiàn)爆發(fā)式增長,網(wǎng)絡(luò)信息歸檔問題在檔案界的分
量也逐漸加大。面對紛繁雜亂的網(wǎng)絡(luò)信息,要根據(jù)實際情況,有選擇性地采取不同的策略,
對各種網(wǎng)絡(luò)信息進(jìn)行收集、整理、歸檔,用最簡單的方式記錄下最完整、最有用的信息。
1.3.2試題文檔轉(zhuǎn)換方案
在本項目中,面向多種類試題文檔,我們將提供全面的試題文檔轉(zhuǎn)換方案,支持對各種
文件類型及編碼格式進(jìn)行轉(zhuǎn)換,確保構(gòu)建統(tǒng)一、規(guī)范的試題文檔庫。
?利用文件軟件巨帶功能
目前,較新版本的Word、PPT、Excel軟件或者WPS軟件都自帶了轉(zhuǎn)換為Pdf格式的功能,
比如下圖這樣的:
4儲用:交E接pdf?BbC<
日mOD■下ti
百度云耳―
OoudOrtw
nB4U2452n2A.iotrc?d?.E6上1后
cb62444i1^60|g>u
應(yīng)用is序
保存格式選擇Pdf
分
onedrive
UCfQl
物?文仲典
?調(diào)用在線轉(zhuǎn)換服務(wù)接口
我們還可以采取在線轉(zhuǎn)換格式的辦法,調(diào)用相關(guān)在線文檔格式轉(zhuǎn)化服務(wù)接口,實現(xiàn)文檔
轉(zhuǎn)換。
Hi,你好!你可能感興趣的文檔轉(zhuǎn)換:更多…,
入Fl
??W*AWtRosh
在畿除投文槍JtHTML5Mtt平電網(wǎng)
我們看到,第一個反饋內(nèi)容就是"在線轉(zhuǎn)換文檔成PDF",這個網(wǎng)站操作起來非常簡單,
點擊方塊,上傳你要轉(zhuǎn)換的文檔,然后等待一段時間,再把轉(zhuǎn)換好的Pd及件下載下來就可
以了。
這個方法的優(yōu)點是你不用安裝fiH可軟件,只要有個瀏覽器就可以進(jìn)行文檔轉(zhuǎn)換了。缺點是只
適合用來轉(zhuǎn)換小文檔,文檔一大,上傳、轉(zhuǎn)換需要等待的時間都特別長。此外,轉(zhuǎn)換的效果
也不夠文檔,有時候效果很好,有時候效果很差。
?使用虛擬打印機
以Word文檔轉(zhuǎn)換Pd功例,我們先用Word打開要轉(zhuǎn)換的文檔,然后選擇打印文檔,將打
印機選擇為你安裝的Pdf虛擬打印機,打印后就得到了一個相應(yīng)格式的Pdt文件。
這種方法轉(zhuǎn)換得到的Pd及檔往往效果非常好,缺點是操作起來相對比較麻煩。
還有個比較小眾的文檔轉(zhuǎn)換需求,就是把txt文檔(文字內(nèi)容居多的那種)轉(zhuǎn)換為Pd睦式。
其實這種情況,最快捷的方法就是把txt文檔的內(nèi)容復(fù)制粘貼到Word文檔里面,然后再把Word
文檔轉(zhuǎn)換為Pdf。
1.3.3試題解析方案
在本次項目中,我司將會利用語義理解相關(guān)技術(shù),建立自動準(zhǔn)確的試題解析能力。針對
各種不同試題格式,提供全面的試題解析服務(wù),包括解析試題的題型題目、答案的匹配及檢
驗等。
自動識別多種試題格式
序號格式任g
*.*三交*
試期的序號月阿拉伯?dāng)?shù)字表示,數(shù)字后可以累Sl.WSffiO-
點、頓號、逗號、空格等.A.ifiS!交窿B.迎成交薜C.女性交桂。.陽話交房-
答*:A8J
期就崩
2.口能(安全生產(chǎn)/去》加定.一線從業(yè)人兄的(皿??
選頂可以是一行也可以是畬行.選項字母序號與
*.謹(jǐn)笠守紀(jì)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒園集中教育活動常規(guī)
- 護理面試技巧和注意事項
- 作為部長如何管理好部門
- 怎給孩子們講民航知識
- 共同出資購房協(xié)議
- 2024-2025學(xué)年北師大版(2024)小學(xué)數(shù)學(xué)一年級下冊《古人計數(shù)(一)》教學(xué)課件
- 戰(zhàn)略合作協(xié)議履約金條款
- 關(guān)系操作技巧講解課件
- 工程項目評定與造價咨詢合同
- 地震安全教案大班
- 五金噴涂(噴粉)件檢驗規(guī)范28455
- 電光八組合開關(guān)
- 家庭衛(wèi)士使用說明書智能插座
- (完整版)污水處理廠運維方案
- 室外地下綜合管網(wǎng)管道安裝工程施工方案(技術(shù)標(biāo))(1)
- 納稅信用修復(fù)申請表
- 最新蘇教版五年級數(shù)學(xué)下冊第四單元 數(shù)學(xué)教案
- 以化妝用品與手法的古今對比探討昆曲的歷史變遷
- 健康檔案管理系統(tǒng)
- IEC60826線路設(shè)計中文版
- 學(xué)生資助政策宣傳主題班會PPT課件
評論
0/150
提交評論