《python网络数据采集》读后感 第六章:读取文档
1.文档编码:
文档编码是一种告诉程序——无论是计算机的操作系统还是 Python 代码——读取文档的规 则。文档编码的方式通常可以根据文件的扩展名进行判断,虽然文件扩展名并不是由编码 确定的,而是由开发者确定的。例如,如果我把 myImage.jpg 另存为 myImage.txt,不会出 现任何问题,但当我用文本编辑器打开它的时候就有问题了。好在这种情况很少见,如果 要正确地读取一个文档,必须要知道它的扩展名。
2.纯文本:
虽然把文件存储为在线的纯文本格式并不常见,但是一些简易网站,或者拥有大量纯文本 文件的“旧式学术”(old-school)网站经常会这么做。例如,互联网工程任务组(Internet Engineering Task Force,IETF)网站就存储了 IETF 发表过的所有文档,包含 HTML、PDF和纯文本格式(例如 https://www.ietf.org/rfc/rfc1149.txt)。大多数浏览器都可以很好地显示 纯文本文件,采集它们也不会遇到什么问题。
对大多数简单的纯文本文件,像 http://www.pythonscraping.com/pages/warandpeace/chapter1. txt 这个练习文件,你可以用下面的方法读取:
1 from urllib.request import urlopen 2 3 textPage = urlopen("http://www.pythonscraping.com/pages/warandpeace/chapter1-ru.txt") 4 print(str(textPage.read(),'utf-8'))
3.CSV:
Python 的 csv 库主要是面向本地文件,就是说你的 CSV 文件得存储在你的电脑上。而进行网络数据采集的时候,很多文件都是在线的。
手动把 CSV 文件下载到本机,然后用 Python 定位文件位置;
写 Python 程序下载文件,读取之后再把源文件删除;
从网上直接把文件读成一个字符串,然后转换成一个 StringIO 对象,使它具有文件的
属性。
4. PDF:
5. dox:
a. 从文件读取XML
1 from urllib.request import urlopen 2 from zipfile import ZipFile 3 from io import BytesIO 4 5 wordFile = urlopen("http://pythonscraping.com/pages/AWordDocument.docx").read() 6 wordFile = BytesIO(wordFile) 7 document = ZipFile(wordFile) 8 xml_content = document.read('word/document.xml') 9 print(xml_content.decode('utf-8'))
把一个远程 Word 文档读成一个二进制文件对象,再用 Python 的标准库 zipfile 解压(所有的 .docx 文件为了节省空间都 进行过压缩),然后读取这个解压文件,就变成 XML 了。
1 from urllib.request import urlopen 2 from zipfile import ZipFile 3 from io import BytesIO 4 from bs4 import BeautifulSoup 5 6 wordFile = urlopen("http://pythonscraping.com/pages/AWordDocument.docx").read() 7 wordFile = BytesIO(wordFile) 8 document = ZipFile(wordFile) 9 xml_content = document.read('word/document.xml') 10 11 wordObj = BeautifulSoup(xml_content.decode('utf-8')) 12 textStrings = wordObj.findAll("w:t") 13 14 for textElem in textStrings: 15 closeTag = "" 16 try : 17 style = textElem.parent.previousSibling.find("w:pstyle") 18 if style is not None and style["w:val"] == "Title": 19 print("<h1>") 20 closeTag = "<h1>" 21 except AttributeError: 22 #不打印标签 23 pass 24 print(textElem.text) 25 print(closeTag)
转载于:https://www.cnblogs.com/chengchengaqin/p/9514913.html
《python网络数据采集》读后感 第六章:读取文档相关推荐
- python数据采集框架_20190715《Python网络数据采集》第 1 章
<Python网络数据采集>7月8号-7月10号,这三天将该书精读一遍,脑海中有了一个爬虫大体框架后,对于后续学习将更加有全局感. 此前,曾试验看视频学习,但是一个视频基本2小时,全部拿下 ...
- python网络数据爬取及分析_《Python网络数据采集》读后总结--第3章开始爬取数据及天善用户关系分析实例...
这次介绍一下<Python网络数据采集>这本书的第3章内容(Chpt03.开始爬数据的内容), 使用了天善用户关系分析的示例来介绍一下具体实践. 1.第3章内容简介 1-getWikiLi ...
- 《深入浅出Python》与《Python网络数据采集》读后感
本学期在课程之外,自主计划学习Python语言以及爬虫知识.书籍方面,采用了O`Reilly的<深入浅出Python>与<Python网络数据采集>.前者用于Python语法的 ...
- 全方位指导采集心事网络中的各种数据类型:Python网络数据采集
[点击获取资料提取码:qmy2 ] #内容提要 本书采用简洁强大的Python语言,介绍了网络数据采集,并为采集新式网络中的各种数据类型提供了全面的指导.第一部分重点介绍网络数据采集的基本原理:如何用 ...
- python字符串分片_Python第六章字符串ppt
PPT内容 这是Python第六章字符串ppt,包括了概述,通用序列操作,字符串格式化,字符串方法,正则表达式简介等内容,欢迎点击下载. Python语言编程导论 第六章 字符串 内容提要 概述 通 ...
- 笔记之Python网络数据采集
笔记之Python网络数据采集 非原创即采集 一念清净, 烈焰成池, 一念觉醒, 方登彼岸 网络数据采集, 无非就是写一个自动化程序向网络服务器请求数据, 再对数据进行解析, 提取需要的信息 通常, ...
- Python网络数据采集2-wikipedia
Python网络数据采集2-wikipedia 随机链接跳转 获取维基百科的词条超链接,并随机跳转.可能侧边栏和低栏会有其他链接.这不是我们想要的,所以定位到正文.正文在id为bodyContent的 ...
- Python 网络数据采集(三):采集整个网站
Python 网络数据采集(三):采集整个网站 1.采集整个网站 2. 完整代码 3. 下一节,继续优化这个"爬虫"程序 参见 作者:高玉涵 时间:2022.5.30 15:3 ...
- Python 网络数据采集(中文版)
Python 网络数据采集(中文版) 链接:https://pan.baidu.com/s/1vXtIUXVFlGLBnA3BbWFAAg 提取码:f2a8
最新文章
- android 更新 18个月,MIUI迎接史上最大更新:18个月内绝不卡顿,友商羡慕!
- Oracle序列使用:建立、删除
- nginx代理人server结合tomcat采用
- IIS如何配置可以下载APK、IPA文件
- 第六章插图以及代码文件和插图之间的对应关系
- pearson特征选择matlab,使用sklearn做特征选择
- Java无线数据增值业务概述
- Regional Proposal的输出到底是什么
- C#设计模式之十八状态模式(State Pattern)【行为型】
- node 压缩图片_免费的图片最佳化工具,支持JPG、PNG等格式的无损压缩
- 高通蓝牙耳机(QCC3034)Sink开发基础教程一:高通蓝牙方案介绍及开发环境搭建
- 【原创】软件测试(原书第二版)
- 小S坐月子的方法,难怪她身材那么好!
- 超有爱的并查集 6666
- 电源适配器的主要质量指标
- 【对称日】今天朋友圈对称日刷屏了,也来凑个热闹,用代码实力打脸
- 开心的小明-动态规划算法
- 微型torch去马赛克setup.py运行笔记
- 电子学会图形化scratch编程等级考试三级真题答案解析(选择题)2020-12
- 计算机专业跨考会计,这几个专业适合跨考,考研的同学注意,会计学跨考人数最多...
热门文章
- 腾讯为什么不开发linux软件下载,你认为国产操作系统如何搭建生态?为什么腾讯不给Linux系统适配QQ?...
- web.config连接mysql_web.config中配置数据库连接的方式
- 设计散列表实现通讯录查找系统_[源码和文档分享]利用哈希表实现电话号码查询系统...
- 计算机网络教学方式探讨论文,学生老师论文,关于关于高中计算机网络教学效率提升相关参考文献资料-免费论文范文...
- python mysql 连接6_寒假学习进度-6(Python连接MySQL数据库)
- 艾特某人代码实现_Vue@某人,At某人,仿新浪微博@某人,@user,艾特,艾特某人...
- 详细介绍 安装ns3步骤
- UBUNtu·E: 无法获得锁 /var/lib/apt/lists/lock - open (11: 资源暂时不可用) E: 无法对目录 /var/lib/apt/lists/ 加锁 问题解决方法
- 电视光端机常见故障问题介绍
- [渝粤教育] 南宁师范大学 聆听中国(南宁师范大学慕课) 参考 资料