电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

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

讀取TXT文檔:urlopen()

讀取PDF文檔:pdfminer3k

第二、亂碼問題

(1)、

from urllib.request import urlopen#訪問wiki內容html = urlopen('https://en.wikipedia.org/robots.txt')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)、解決方法

from urllib.request import urlopen#訪問wiki內容html = urlopen('https://en.wikipedia.org/robots.txt')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文檔及亂碼問題的解決

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

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

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

補充內容:

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 温室大棚建设|水肥一体化|物联网系统 | 屏蔽服(500kv-超高压-特高压-电磁)-徐吉电气 | 行星齿轮减速机,减速机厂家,山东减速机-淄博兴江机械制造 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 安徽合肥项目申报咨询公司_安徽合肥高新企业项目申报_安徽省科技项目申报代理 | 不锈钢闸阀_球阀_蝶阀_止回阀_调节阀_截止阀-可拉伐阀门(上海)有限公司 | 锂电池生产厂家-电动自行车航模无人机锂电池定制-世豹新能源 | 知网论文检测系统入口_论文查重免费查重_中国知网论文查询_学术不端检测系统 | 硬齿面减速机_厂家-山东安吉富传动设备股份有限公司 | 【365公司转让网】公司求购|转让|资质买卖_股权转让交易平台 | 电池挤压试验机-自行车喷淋-车辆碾压试验装置-深圳德迈盛测控设备有限公司 | 皮带机-带式输送机价格-固定式胶带机生产厂家-河南坤威机械 | 帽子厂家_帽子工厂_帽子定做_义乌帽厂_帽厂_制帽厂 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 在线钠离子分析仪-硅酸根离子浓度测定仪-油液水分测定仪价格-北京时代新维测控设备有限公司 | 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 浙江筋膜枪-按摩仪厂家-制造商-肩颈按摩仪哪家好-温州市合喜电子科技有限公司 | 西安烟道厂家_排气道厂家_包立管厂家「陕西西安」推荐西安天宇烟道 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 代理记账_免费注册公司_营业执照代办_资质代办-【乐财汇】 | 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 武汉印刷厂-不干胶标签印刷厂-武汉不干胶印刷-武汉标签印刷厂-武汉标签制作 - 善进特种标签印刷厂 | 快速门厂家-快速卷帘门-工业快速门-硬质快速门-西朗门业 | 密集架|电动密集架|移动密集架|黑龙江档案密集架-大量现货厂家销售 | 山东钢衬塑罐_管道_反应釜厂家-淄博富邦滚塑防腐设备科技有限公司 | 沈阳真空机_沈阳真空包装机_沈阳大米真空包装机-沈阳海鹞真空包装机械有限公司 | 银川美容培训-美睫美甲培训-彩妆纹绣培训-新娘化妆-学化妆-宁夏倍莱妮职业技能培训学校有限公司 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 便携式表面粗糙度仪-彩屏硬度计-分体式粗糙度仪-北京凯达科仪科技有限公司 | 沈飞防静电地板__机房地板-深圳市沈飞防静电设备有限公司 | 不锈钢螺丝,不锈钢螺栓,不锈钢标准件-江苏百德特种合金有限公司 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 电线电缆厂家|沈阳电缆厂|电线厂|沈阳英联塑力线缆有限公司 | 换网器_自动换网器_液压换网器--郑州海科熔体泵有限公司 | 中药超微粉碎机(中药细胞级微粉碎)-百科 | 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 市政路灯_厂家-淄博信达电力科技有限公司 | 恒湿机_除湿加湿一体机_恒湿净化消毒一体机厂家-杭州英腾电器有限公司 | 高中学习网-高考生信息学习必备平台|