可以定義一個(gè)類,類里定義很多函數(shù)(主要用它做什么)或直接定義函數(shù)在一個(gè)py文件中
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、巴里坤哈薩克ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的巴里坤哈薩克網(wǎng)站制作公司
在另一個(gè)文件中導(dǎo)入這個(gè)那個(gè)py包,調(diào)用類和方法
就是封裝了
Python:常用函數(shù)封裝:
def is_chinese(uchar):
"""判斷一個(gè)unicode是否是漢字"""
if uchar = u'\u4e00' and uchar=u'\u9fa5':
return True
else:
return False
def is_number(uchar):
"""判斷一個(gè)unicode是否是數(shù)字"""
if uchar = u'\u0030' and uchar=u'\u0039':
return True
else:
return False
def is_alphabet(uchar):
"""判斷一個(gè)unicode是否是英文字母"""
if (uchar = u'\u0041' and uchar=u'\u005a') or (uchar = u'\u0061' and uchar=u'\u007a'):
return True
else:
return False
def is_other(uchar):
"""判斷是否非漢字,數(shù)字和英文字符"""
if not (is_chinese(uchar) or is_number(uchar) or is_alphabet(uchar)):
return True
else:
return False
def B2Q(uchar):
"""半角轉(zhuǎn)全角"""
inside_code=ord(uchar)
if inside_code0x0020 or inside_code0x7e: #不是半角字符就返回原來的字符
return uchar
if inside_code==0x0020: #除了空格其他的全角半角的公式為:半角=全角-0xfee0
inside_code=0x3000
else:
inside_code+=0xfee0
return unichr(inside_code)
def Q2B(uchar):
"""全角轉(zhuǎn)半角"""
inside_code=ord(uchar)
if inside_code==0x3000:
inside_code=0x0020
else:
inside_code-=0xfee0
if inside_code0x0020 or inside_code0x7e: #轉(zhuǎn)完之后不是半角字符返回原來的字符
return uchar
return unichr(inside_code)
def stringQ2B(ustring):
"""把字符串全角轉(zhuǎn)半角"""
return "".join([Q2B(uchar) for uchar in ustring])
def uniform(ustring):
"""格式化字符串,完成全角轉(zhuǎn)半角,大寫轉(zhuǎn)小寫的工作"""
return stringQ2B(ustring).lower()
def string2List(ustring):
"""將ustring按照中文,字母,數(shù)字分開"""
retList=[]
utmp=[]
for uchar in ustring:
if is_other(uchar):
if len(utmp)==0:
continue
else:
retList.append("".join(utmp))
utmp=[]
else:
utmp.append(uchar)
if len(utmp)!=0:
retList.append("".join(utmp))
return retList
爬蟲技術(shù)是一種自動(dòng)化程序。
爬蟲就是一種可以從網(wǎng)頁上抓取數(shù)據(jù)信息并保存的自動(dòng)化程序,它的原理就是模擬瀏覽器發(fā)送網(wǎng)絡(luò)請(qǐng)求,接受請(qǐng)求響應(yīng),然后按照一定的規(guī)則自動(dòng)抓取互聯(lián)網(wǎng)數(shù)據(jù)。
搜索引擎通過這些爬蟲從一個(gè)網(wǎng)站爬到另一個(gè)網(wǎng)站,跟蹤網(wǎng)頁中的鏈接,訪問更多的網(wǎng)頁,這個(gè)過程稱為爬行,這些新的網(wǎng)址會(huì)被存入數(shù)據(jù)庫等待搜索。簡(jiǎn)而言之,爬蟲就是通過不間斷地訪問互聯(lián)網(wǎng),然后從中獲取你指定的信息并返回給你。而我們的互聯(lián)網(wǎng)上,隨時(shí)都有無數(shù)的爬蟲在爬取數(shù)據(jù),并返回給使用者。
爬蟲技術(shù)的功能
1、獲取網(wǎng)頁
獲取網(wǎng)頁可以簡(jiǎn)單理解為向網(wǎng)頁的服務(wù)器發(fā)送網(wǎng)絡(luò)請(qǐng)求,然后服務(wù)器返回給我們網(wǎng)頁的源代碼,其中通信的底層原理較為復(fù)雜,而Python給我們封裝好了urllib庫和requests庫等,這些庫可以讓我們非常簡(jiǎn)單的發(fā)送各種形式的請(qǐng)求。
2、提取信息
獲取到的網(wǎng)頁源碼內(nèi)包含了很多信息,想要進(jìn)提取到我們需要的信息,則需要對(duì)源碼還要做進(jìn)一步篩選??梢赃x用python中的re庫即通過正則匹配的形式去提取信息,也可以采用BeautifulSoup庫(bs4)等解析源代碼,除了有自動(dòng)編碼的優(yōu)勢(shì)之外,bs4庫還可以結(jié)構(gòu)化輸出源代碼信息,更易于理解與使用。
3、保存數(shù)據(jù)
提取到我們需要的有用信息后,需要在Python中把它們保存下來。可以使用通過內(nèi)置函數(shù)open保存為文本數(shù)據(jù),也可以用第三方庫保存為其它形式的數(shù)據(jù),例如可以通過pandas庫保存為常見的xlsx數(shù)據(jù),如果有圖片等非結(jié)構(gòu)化數(shù)據(jù)還可以通過pymongo庫保存至非結(jié)構(gòu)化數(shù)據(jù)庫中。
新聞標(biāo)題:Python爬蟲函數(shù)封裝,python代碼如何封裝
當(dāng)前鏈接:http://aaarwkj.com/article6/dsiicig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、企業(yè)建站、面包屑導(dǎo)航、網(wǎng)頁設(shè)計(jì)公司、Google、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)