久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python 實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)到txt和pdf文檔及亂碼問(wèn)題的解決

瀏覽:38日期:2022-06-26 08:24:48
第一、幾種常用方法

讀取TXT文檔:urlopen()

讀取PDF文檔:pdfminer3k

第二、亂碼問(wèn)題

(1)、

from urllib.request import urlopen#訪問(wèn)wiki內(nèi)容html = urlopen('https://en.wikipedia.org/robots.txt')print(html.read())輸出的結(jié)果中出現(xiàn)亂碼原因:

計(jì)算機(jī)只能處理0和1兩個(gè)數(shù)字,所以想要處理文本,必須把文本變成0和1這樣的數(shù)字,最早的計(jì)算機(jī)使用八個(gè)0和1表示一個(gè)字節(jié),所以最大能夠表示整數(shù)是255=11111111.如果想要表示更大的數(shù),必須使用更多的字節(jié)。

由于計(jì)算機(jī)是美國(guó)人發(fā)明的,所以最早只有127個(gè)字符被編寫進(jìn)計(jì)算機(jī),即常見(jiàn)的阿拉伯?dāng)?shù)字,字母大小寫,以及鍵盤上的符號(hào)。此編碼被稱為ASCII編碼,比如大寫字母A的ASCII編碼是65,65再被轉(zhuǎn)換二進(jìn)制01000001,即是計(jì)算機(jī)處理的東西。

顯然,ASCII不能表示中文,故中國(guó)制定了自己的GB2312編碼,并且兼容ASCII編碼。問(wèn)題是:使用GB2312編碼的慕課網(wǎng)三個(gè)字,假設(shè)編碼為61,62,63.但在ASCII碼表可能是其他字符。如下圖示,日文中的616263編碼成其他字符,打開(kāi)后意思出錯(cuò)。

python 實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)到txt和pdf文檔及亂碼問(wèn)題的解決

解決方法:

國(guó)際上的unicode編碼,整合全世界所有編碼。故unicode編碼的內(nèi)容在任一臺(tái)計(jì)算機(jī)用unicode仍正常打開(kāi)

python 實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)到txt和pdf文檔及亂碼問(wèn)題的解決

又對(duì)于A,ASCII編碼為01000001,Unicode編碼:0000000001000001此時(shí)浪費(fèi)空間

故出現(xiàn)UTF-8編碼:01000001此時(shí)用兩個(gè)八位存儲(chǔ)中文。

(2)、記事本使用unicode編碼,將記事本存到計(jì)算機(jī)時(shí),將轉(zhuǎn)化為utf-8儲(chǔ)存。

在計(jì)算機(jī)中打開(kāi)文本時(shí),將轉(zhuǎn)化為unicode編碼

存儲(chǔ)原因:使用utf-8儲(chǔ)存節(jié)省空間,使用unicode打開(kāi)保證最大的兼容

(3)、服務(wù)器讀取uncode編碼的文檔,轉(zhuǎn)化為utf-8格式傳給瀏覽器。因?yàn)榫W(wǎng)絡(luò)帶寬昂貴,轉(zhuǎn)化為了減少負(fù)擔(dān)。

(4)、python3字符串默認(rèn)使用Unicode編碼,所以python3支持多種語(yǔ)言

以Unicode表示的str通過(guò)encode()方法可以編碼為指定的bytes

如果bytes使用ASCII編碼,遇到ASCII碼表沒(méi)有的字符會(huì)以x##表示,此時(shí)只用‘x##’.decode(’utf-8’)即可

(5)、解決方法

from urllib.request import urlopen#訪問(wèn)wiki內(nèi)容html = urlopen('https://en.wikipedia.org/robots.txt')print(html.read().decode('utf-8'))第三、pdfminer3k安裝法一:

(1)、進(jìn)入網(wǎng)址直接下載并解壓:https://pypi.python.org/pypi/pdfminer3k/

(2)、以管理員身份運(yùn)行命令行窗口,進(jìn)入軟件解壓縮位置,運(yùn)行python setup.py install

python 實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)到txt和pdf文檔及亂碼問(wèn)題的解決

法二:

(3)、直接在pycharm中安裝

python 實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)到txt和pdf文檔及亂碼問(wèn)題的解決

(4)、讀取pdf過(guò)程:首先創(chuàng)建一個(gè)分析器pdfparser和文檔對(duì)象pdfdocument,并通過(guò)兩個(gè)方法相互關(guān)聯(lián),然后調(diào)用文檔對(duì)象的初始化方法(可以傳參數(shù)),此時(shí)資源內(nèi)容被加載到文檔對(duì)象中。

python 實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)到txt和pdf文檔及亂碼問(wèn)題的解決

創(chuàng)建資源管理器和參數(shù)分析器,然后創(chuàng)建聚合器(整合資源管理器和參數(shù)分析器),通過(guò)聚合器創(chuàng)建解釋器(對(duì)pdf文檔進(jìn)行編碼,解釋成python能識(shí)別的格式)

python 實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)到txt和pdf文檔及亂碼問(wèn)題的解決

(5)、讀取pdf文檔:通過(guò)文檔對(duì)象的get_pages()方法得到pdf每一頁(yè)的內(nèi)容,通過(guò)解釋器的process_page()方法讀取一頁(yè)一頁(yè)。

python 實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)到txt和pdf文檔及亂碼問(wèn)題的解決

(6)、實(shí)例演示

python 實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)到txt和pdf文檔及亂碼問(wèn)題的解決

from pdfminer.converter import PDFPageAggregatorfrom pdfminer.layout import LAParamsfrom pdfminer.pdfparser import PDFParser, PDFDocumentfrom pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreterfrom pdfminer.pdfdevice import PDFDevice#獲得文檔對(duì)象,以二進(jìn)制讀方式打開(kāi)fp = open('naacl06-shinyama.pdf', 'rb')#創(chuàng)建一個(gè)與文檔關(guān)聯(lián)的分析器parser = PDFParser(fp)#創(chuàng)建一個(gè)pdf文檔的對(duì)象doc = PDFDocument()#連接解釋器與文檔對(duì)象parser.set_document(doc)doc.set_parser(parser)#初始化文檔,如果文檔有密碼,寫與此。doc.initialize('')#創(chuàng)建pdf資源管理器resource = PDFResourceManager()#參數(shù)分析器laparam = LAParams()#創(chuàng)建聚合器device = PDFPageAggregator(resource, laparams=laparam)#創(chuàng)建pdf頁(yè)面解釋器interpreter = PDFPageInterpreter(resource, device)#使用文檔對(duì)象得到頁(yè)面的集合for page in doc.get_pages(): #使用頁(yè)面解釋器讀取 interpreter.process_page(page) #使用聚合器來(lái)獲得內(nèi)容 layout = device.get_result() for out in layout: if hasattr(out, 'get_text'): print(out.get_text())

一下用于讀取網(wǎng)站上pdf內(nèi)容

fp = urlopen(http://www.tencent.com/zh-cn/articles/8003251479983154.pdf)

補(bǔ)充內(nèi)容:

python 實(shí)現(xiàn)存儲(chǔ)數(shù)據(jù)到txt和pdf文檔及亂碼問(wèn)題的解決

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 亚洲一区二区中文字幕 | 亚洲欧洲精品视频在线观看 | 久久这里只有精品首页 | 波多野结衣一二三四区 | 欧美日韩精品在线 | 国产九九九 | 成人高清av | 区一区二区三在线观看 | 国产精品久久久久久久7电影 | 亚洲欧美在线一区 | 9999国产精品欧美久久久久久 | 99久久精品免费 | 国产视频精品一区二区三区 | 亚洲高清视频在线 | 中文字幕在线第二页 | 国精品一区二区三区 | 免费观看电视在线高清视频 | 国产精品成人一区二区三区夜夜夜 | 免费一区在线 | 成人做爰9片免费视频 | 亚洲风情在线观看 | 成人午夜影院 | av网站在线免费观看 | 日本天堂一区二区 | 成人一区二区三区在线观看 | 夸克满天星在线观看 | 亚洲少妇视频 | 国产欧美日韩 | 国产精品久久久久久久久久久久久久 | 秋霞av电影| 九九亚洲 | 三级黄色片在线观看 | 天堂免费在线观看视频 | 超碰人人干 | 国产成人av在线 | 91国产精品 | 在线视频亚洲 | 成人在线视频观看 | 国产成人精品一区二区三区四区 | 97久久香蕉国产线看观看 | 中文字幕av亚洲精品一部二部 |