Python官网 应该是python.org啦……python是世搏开源的,不搜激祥会铅毁搞个.com结尾的。 如何解决Python读取PDF内容慢的问题 1,引言 晚上翻看《Python网络数据采集手宴……
Python官网
应该是python.org啦……python是世搏开源的,不搜激祥会铅毁搞个.com结尾的。
如何解决Python读取PDF内容慢的问题
1,引言
晚上翻看《Python网络数据采集手宴》这本书,看到读取PDF内容的代码,想起来前几天集搜客刚刚发布了一个抓取网页pdf内容的抓取规则,这个规则能够把pdf内容当成html来做网页抓取。神奇之处要归功于Firefox解析PDF的能力,能够把pdf格式转换成html标签,比如,div之类的标签,从而用GooSeeker网页抓取软件像抓毕陪银普通网页一样抓取结构化内容。
从而产生了一个问题:用Python爬虫的话,能做到什么程度。下面将讲述一个实验过程和源代码。
2,把pdf转换成文本的Python源代码
下面的python源代码,读取pdf文件内容(互联网上的或是本地的),转换成文本,打印出来。这段代码主要用了一个第三方库PDFMiner3K把PDF读成字符串,然后用StringIO转换成文件对象。(源代码下载地址参看文章末尾的GitHub源)
from urllib.request import urlopenfrom pdfminer.pdfinterp import PDFResourceManager, process_pdffrom pdfminer.converter import TextConverterfrom pdfminer.layout import LAParamsfrom io import StringIOfrom io import opendef readPDF(pdfFile):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
laparams = LAParams()
device = TextConverter(rsrcmgr, retstr, laparams=laparams)
process_pdf(rsrcmgr, device, pdfFile)
device.close()
content = retstr.getvalue()
retstr.close() return content
pdfFile = urlopen(“”)
outputString = readPDF(pdfFile)print(outputString)
pdfFile.close()
如果PDF文件在你的电脑里,那就把urlopen返回的对象pdfFile替换成普通的open()文件对象。
3,展望
这个实验只是把pdf转换成了文本,但是没有像开头所说的转换成html标签,那么在Python编程环境下是否有这个能力,留待今后探索。
4,集乱悄搜客GooSeeker开源代码下载源
1. GooSeeker开源Python网络爬虫GitHub源
5,文档修改历史
2016-05-26:V2.0,增补文字说明
2016-05-29:V2.1,增加第六章:源代码下载源,并更换github源的网址
去哪里找python的开源项目
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名GitHub。作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。在GitHub,用户可以十分轻易地找到海量的开源代码。
下面给大家介绍一些GitHub上25个开源项目:
(1)TensorFlow Models
如果你对机器学习和深度学习感兴趣,一定听说过TensorFlow。TensorFlow Models是一个开源存储库,可以找到许多与深度学习相关的库和模型。
(GitHub: )
(2)Keras
Keras是一个高级神经网络API,用Python编写,能够在TensorFlow,CNTK或Theano之上运行。旨在完成深度学习的快速开发(GitHub: )
(3)Flask
Flask 是一个微型的 Python 开发的 Web 框架,基于Werkzeug WSGI工具箱和Jinja2 模板引擎,使用BSD授权。
(GitHub: )
(4)scikit-learn
scikit-learn是一个用于机器学习的Python模块,基于 NumPy、SciPy 和 matplotlib 构建。,并遵循 BSD 许可协议。
(GitHub: )
(5)Zulip
Zulip是一款功能强大的开源群聊应用程序,它结合了实时聊天的即时性和线程对话的生产力优势。Zulip作为一个开源项目,被许多世界500强企业,大型组织以及其他需要实时聊天系统的用户选择使用,该系统允许用户每天轻松处理数百或数千条消息。Zulip拥有超过300名贡献者,每月合并超过500次提交,也是规模最大,发展最快的开源群聊项目。
(GitHub: )
相关推荐:《Python入门教程》
(6)Django
Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架,旨在快速开发出清晰,实用的顷梁态设计。使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序。雀源
(GitHub: )
(7)Rebound
Rebound 是一个当你得到编译错误时即时获取 Stack Overflow 结果的命令行工具。 就用 rebound 命令执行你的文件。这对程序员来说方便了不少。
(GitHub: )
(8)Google Images Download
这是一个命令行python程序,用于搜索Google Images上的关键字/关键短语,并可选择将图像下载到您的计算机。你也可以从另一个python文件调用此脚本。
(GitHub: )
(9)YouTube-dl
youtube-dl 是基于 Python 的命令渣毕行媒体文件下载工具,完全开源免费跨平台。用户只需使用简单命令并提供在线视频的网页地址即可让程序自动进行嗅探、下载、合并、命名和清理,最终得到已经命名的完整视频文件。
(GitHub: htt ps://github.com/rg3/youtube-dl )
(10)System Design Primer
此repo是一个系统的资源集合,可帮助你了解如何大规模构建系统。
(GitHub: )
(11)Mask R-CNN
Mask R-CNN用于对象检测和分割。这是对Python 3,Keras和TensorFlow的Mask R-CNN实现。该模型为图像中对象的每个实例生成边界框和分割蒙版。它基于特Feature Pyramid Network(FPN)和 ResNet101 backbone。
(GitHub: )
(12)Face Recognition
Face Recognition 是一个基于 Python 的人脸识别库,使用十分简便。这还提供了一个简单的face_recognition命令行工具,可以让您从命令行对图像文件夹进行人脸识别!
(GitHub: )
(13)snallygaster
用于扫描HTTP服务器上的机密文件的工具。
(GitHub: )
(14)Ansible
Ansible是一个极其简单的IT自动化系统。它可用于配置管理,应用程序部署,云配置,支持远程任务执行和多节点发布 – 包括通过负载平衡器轻松实现零停机滚动更新等操作。
(GitHub: )
(15)Detectron
Detectron是Facebook AI 研究院开源的的软件系统,它实现了最先进的目标检测算法,包括Mask R-CNN。它是用Python编写的,由Caffe2深度学习框架提供支持。
(16)asciinema
终端会话记录器和asciinema.org的最佳搭档。
(GitHub: )
(17)HTTPie
HTTPie 是一个开源的命令行的 HTTP 工具包,其目标是使与Web服务的CLI交互尽可能人性化。它提供了一个简单的http命令,允许使用简单自然的语法发送任意HTTP请求,并显示彩色输出。HTTPie可用于测试,调试以及通常与HTTP服务器交互。
(GitHub: )
(18)You-Get
You-Get是一个小型命令行实用程序,用于从Web下载媒体内容(视频,音频,图像),支持国内外常用的视频网站。
(GitHub: )
(19)Sentry
Sentry从根本上讲是一项服务,可以帮助用户实时监控和修复崩溃。基于Django构建,它包含一个完整的API,用于从任何语言、任何应用程序中发送事件。
(GitHub: )
(20)Tornado
Tornado是使用Python开发的全栈式(full-stack)Web框架和异步网络库,,最初是由FriendFeed上开发的。通过使用非阻塞网络I / O,Tornado可以扩展到数万个开放连接,是long polling、WebSockets和其他需要为用户维护长连接应用的理想选择。
(GitHub: )
(21)Magenta
Magenta是一个探索机器学习在创造艺术和音乐过程中的作用的研究项目。这主要涉及开发新的深度学习和强化学习算法,用于生成歌曲,图像,绘图等。但它也是构建智能工具和界面的探索,它允许艺术家和音乐家使用这些模型。
(GitHub: )
(22)ZeroNet
ZeroNet是一个利用比特币的加密算法和BitTorrent技术提供的不受审查的网络,完全开源。
(GitHub: )
(23)Gym
OpenAI Gym是一个用于开发和比较强化学习算法的工具包。这是Gym的开源库,可让让你访问标准化的环境。
(GitHub: )
(24)Pandas
Pandas是一个Python包,提供快速,灵活和富有表现力的数据结构,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。此外,它还有更广泛的目标,即成为所有语言中最强大,最灵活的开源数据分析/操作工具。它目前已经朝着这个目标迈进。
(GitHub: )
(25)Luigi
Luigi 是一个 Python 模块,可以帮你构建复杂的批量作业管道。处理依赖决议、工作流管理、可视化展示等等,内建 Hadoop 支持。(GitHub: )
推荐几个学习Python的免费网站
1、Python @ Coursera
这个清早课程是为从来没接触过编程的人准备的。你只需要小学的数学水平就可以了。
2、Intro to Computer Science @ Udacity
Udacity提供了一个很棒的免费课程,引你进入Python编程答晌雀和学习关于搜索引擎的许多东西,以及如何编写你自己的小型网络爬虫。
3、Pythonspot
Pythonspot是一个综合教程,划分了很多不同类别的知识板块,首先你将拥有初学者资源来帮你开始谨陵Python的学习,然后你继续保持前进你能学到更多关于使用Python开发web等。
Python源码下载
哥,要下仔闭载源码也是去官网下载啊,点下面那个就行念冲裂了判盯
还没有评论呢,快来抢沙发~