国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - python 實現(xiàn)存儲數(shù)據(jù)到txt和pdf文檔及亂碼問題的解決

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

2021-09-16 00:30明宇李 Python

這篇文章主要介紹了python 實現(xiàn)存儲數(shù)據(jù)到txt和pdf文檔及亂碼問題的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

第一、幾種常用方法

讀取TXT文檔:urlopen()

讀取PDF文檔:pdfminer3k

第二、亂碼問題

(1)、

  1. from urllib.request import urlopen
  2. #訪問wiki內(nèi)容
  3. html = urlopen("https://en.wikipedia.org/robots.txt")
  4. print(html.read())

輸出的結(jié)果中出現(xiàn)亂碼原因:

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

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

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

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

解決方法:

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

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

又對于A,ASCII編碼為01000001,Unicode編碼:0000000001000001此時浪費空間

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

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

在計算機中打開文本時,將轉(zhuǎn)化為unicode編碼

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

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

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

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

如果bytes使用ASCII編碼,遇到ASCII碼表沒有的字符會以\x##表示,此時只用‘\x##'.decode('utf-8')即可

(5)、解決方法

  1. from urllib.request import urlopen
  2. #訪問wiki內(nèi)容
  3. html = urlopen("https://en.wikipedia.org/robots.txt")
  4. print(html.read().decode("utf-8"))

第三、pdfminer3k安裝

法一:

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

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

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

法二:

(3)、直接在pycharm中安裝

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

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

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

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

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

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

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

(6)、實例演示

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

  1. from pdfminer.converter import PDFPageAggregator
  2. from pdfminer.layout import LAParams
  3. from pdfminer.pdfparser import PDFParser, PDFDocument
  4. from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
  5. from pdfminer.pdfdevice import PDFDevice
  6. #獲得文檔對象,以二進制讀方式打開
  7. fp = open("naacl06-shinyama.pdf", "rb")
  8. #創(chuàng)建一個與文檔關(guān)聯(lián)的分析器
  9. parser = PDFParser(fp)
  10. #創(chuàng)建一個pdf文檔的對象
  11. doc = PDFDocument()
  12. #連接解釋器與文檔對象
  13. parser.set_document(doc)
  14. doc.set_parser(parser)
  15. #初始化文檔,如果文檔有密碼,寫與此。
  16. doc.initialize("")
  17. #創(chuàng)建pdf資源管理器
  18. resource = PDFResourceManager()
  19. #參數(shù)分析器
  20. laparam = LAParams()
  21. #創(chuàng)建聚合器
  22. device = PDFPageAggregator(resource, laparams=laparam)
  23. #創(chuàng)建pdf頁面解釋器
  24. interpreter = PDFPageInterpreter(resource, device)
  25. #使用文檔對象得到頁面的集合
  26. for page in doc.get_pages():
  27. #使用頁面解釋器讀取
  28. interpreter.process_page(page)
  29. #使用聚合器來獲得內(nèi)容
  30. layout = device.get_result()
  31. for out in layout:
  32. if hasattr(out, "get_text"):
  33. print(out.get_text())

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

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

補充內(nèi)容:

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

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持我們。如有錯誤或未考慮完全的地方,望不吝賜教。

原文鏈接:https://blog.csdn.net/mingyuli/article/details/79737634

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 99久久国产免费 | 亚洲国产精品视频一区 | 免费观看一级特黄欧美大片 | 久久久国产一区二区三区 | 国产一区二区精品在线观看 | 瑟瑟视频在线观看 | 香蕉久久一区二区不卡无毒影院 | 欧美一级二级视频 | 黄色影院在线观看 | 亚洲精品视频免费观看 | 香蕉av在线| 91视频8mav | 狠狠综合| 91视视频在线观看入口直接观看 | 欧美电影一区 | 在线视频亚洲 | 色呦呦网站在线观看 | 北条麻妃在线一区二区免费播放 | 中文字幕亚洲欧美 | 国产精品网站在线观看 | www日韩| 国产精品久久久久久 | 国产色区| 精品视频久久久 | 黄色网在线看 | 欧美三级在线 | 日韩精品无码一区二区三区 | 日日天天| 夜夜夜久久久 | 欧美激情第1页 | 国产欧美精品区一区二区三区 | 日韩美女乱淫aaa高清视频 | 免费高清黄色 | 黄色一级网站 | 欧美久久精品一级黑人c片 成人在线视频免费观看 | 奇米成人 | 日韩中文字幕在线观看 | 日韩大片 | 亚洲欧美一区二区三区不卡 | 久久综合九色综合网站 | 免费视频一区二区 |