激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

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

服務器之家 - 腳本之家 - Python - python 實現存儲數據到txt和pdf文檔及亂碼問題的解決

python 實現存儲數據到txt和pdf文檔及亂碼問題的解決

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

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

第一、幾種常用方法

讀取TXT文檔:urlopen()

讀取PDF文檔:pdfminer3k

第二、亂碼問題

(1)、

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

輸出的結果中出現亂碼原因:

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

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

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

python 實現存儲數據到txt和pdf文檔及亂碼問題的解決

解決方法:

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

python 實現存儲數據到txt和pdf文檔及亂碼問題的解決

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

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

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

在計算機中打開文本時,將轉化為unicode編碼

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

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

(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內容
  3. html = urlopen("https://en.wikipedia.org/robots.txt")
  4. print(html.read().decode("utf-8"))

第三、pdfminer3k安裝

法一:

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

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

python 實現存儲數據到txt和pdf文檔及亂碼問題的解決

法二:

(3)、直接在pycharm中安裝

python 實現存儲數據到txt和pdf文檔及亂碼問題的解決

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

python 實現存儲數據到txt和pdf文檔及亂碼問題的解決

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

python 實現存儲數據到txt和pdf文檔及亂碼問題的解決

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

python 實現存儲數據到txt和pdf文檔及亂碼問題的解決

(6)、實例演示

python 實現存儲數據到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. #創建一個與文檔關聯的分析器
  9. parser = PDFParser(fp)
  10. #創建一個pdf文檔的對象
  11. doc = PDFDocument()
  12. #連接解釋器與文檔對象
  13. parser.set_document(doc)
  14. doc.set_parser(parser)
  15. #初始化文檔,如果文檔有密碼,寫與此。
  16. doc.initialize("")
  17. #創建pdf資源管理器
  18. resource = PDFResourceManager()
  19. #參數分析器
  20. laparam = LAParams()
  21. #創建聚合器
  22. device = PDFPageAggregator(resource, laparams=laparam)
  23. #創建pdf頁面解釋器
  24. interpreter = PDFPageInterpreter(resource, device)
  25. #使用文檔對象得到頁面的集合
  26. for page in doc.get_pages():
  27. #使用頁面解釋器讀取
  28. interpreter.process_page(page)
  29. #使用聚合器來獲得內容
  30. layout = device.get_result()
  31. for out in layout:
  32. if hasattr(out, "get_text"):
  33. print(out.get_text())

一下用于讀取網站上pdf內容

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

補充內容:

python 實現存儲數據到txt和pdf文檔及亂碼問題的解決

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一区二区三区日韩在线 | 日本综合久久 | 黄色的视频在线观看 | 成人在线视频免费 | 一区国产在线 | 亚洲综人网 | 国产精品区在线12p 午夜视频在线免费播放 | 日本在线播放一区二区 | 欧洲成人免费视频 | 国产欧美亚洲精品 | 久久久久久免费 | 秋霞a级毛片在线看 | 久久久成人精品 | 性欧美视频在线观看 | 久久久久中精品中文字幕19 | 国产精品午夜小视频观看 | 精品一区二区在线观看视频 | 日日综合| 亚洲视频精品在线 | 一级做受毛片免费大片 | 成人艳情一二三区 | 中文字幕在线观看视频一区 | 日本成年免费网站 | 九九热在线视频观看 | 99r国产精品| 99麻豆久久久国产精品免费 | 蜜桃传媒视频麻豆第一区免费观看 | 欧美视频在线一区二区三区 | 久久人体 | 欧美中文字幕一区二区三区亚洲 | 日本欧美一区二区三区在线观看 | 鲁人人人鲁人人鲁精品 | 久久久久久久一区 | 精品国产91久久久久久久妲己 | 午夜在线观看视频网站 | 欧美hdfree性xxxx | 成人一区二区在线观看视频 | 色黄网站在线观看 | 国产69精品久久久久99尤 | 欧美性受xxxxxx黑人xyx性爽 | 久久国产午夜 |