用Python刮网 从现代网络收集数据外文翻译资料

 2022-11-26 20:22:16

英语原文共 340 页,剩余内容已隐藏,支付完成后下载完整资料


用Python刮网

从现代网络收集数据

瑞安·米切尔

用Python刮网

瑞安·米切尔

版权@2015瑞安·米切尔。版权所有。

在美利坚合众国印刷。

由Olsquo;Reilly媒体公司出版,1005 Gravenstein公路北,塞巴斯托波尔,CA 95472。

Olsquo;Reilly的书籍可以用于教育、商业或销售促销用途。在线版本也可用于大多数标题(http://Safaribooksonline.com)。欲了解更多信息,请与ou联系。 r公司/机构销售部:800-998-#number0#或公司@oreilly.com。

编辑:西蒙·圣洛朗和艾利森·麦克唐纳

制作编辑:闪亮的Kalapurakkel

书记员:JasminKwityn

校对员:卡拉·桑顿

索引者:露西·哈斯金斯

室内设计师:大卫·富土豆

封面设计师:卡伦·蒙哥马利

插画家:丽贝卡·德马斯特

2015:第一版

第一版修订历史

2015-06-10:首次发行

See http://oreilly.com/catalog/errata.csp?isbn=9781491910276 for release details.

Olsquo;Reilly标志是Orsquo;Reilly Media,Inc.的注册商标。使用Python、封面图片和相关的贸易服装进行的Web擦拭是Olsquo;Reilly Media,Inc.的商标。

虽然出版商和作者用真诚的努力确保了这本书中所载的信息和指示是准确的,但出版商和作者拒绝承担所有责任。 错误或遗漏,包括但不限于因使用或依赖本作品而造成的损害赔偿责任。使用本中心所载的资料及指示 K是你自己的风险。如果本作品包含或描述的任何代码示例或其他技术受开放源代码许可证或其他人的知识产权限制,则应由您负责。 确保您的使用符合这些许可和/或权利。

978-1-491-91027-6

[Large Scale Integration 大规模集成电路]

序言,引语

对于那些还没有发展这种技能的人来说,计算机编程似乎是一种魔力。如果编程是魔法的话,那么web抓取就是一种魔法,也就是说,魔术在特殊领域的应用。 令人印象深刻和有用的--但却出人意料地毫不费力--壮举。

事实上,在我做软件工程师的几年里,我发现很少有编程实践能像Web抓取一样吸引程序员和外行的兴趣。编写 简单的机器人收集数据并将其流到终端或将其存储在数据库中,而不是困难的,永远不能提供一定的刺激和可能性,无论多少次 你可能以前就这么做过。

不幸的是,当我和其他程序员谈论网络抓取时,人们对这种做法有很多误解和困惑。有些人不确定这是否合法(这是合法的),也不确定如何 处理现代Web,以及它的所有JavaScript、多媒体和cookie。有些人对API和Web刮板之间的区别感到困惑。

这本书试图结束这些常见的问题和误解关于网络抓取,同时提供了一个最常见的网络抓取任务的全面指南。

从第1章开始,我将定期提供代码示例来演示概念。这些代码示例位于公共域中,可以与属性一起使用,也可以不带属性(尽管是确认人)。 我们总是很感激)。所有代码样本也将在网站上提供查看和下载。

什么是网络抓取?

从互联网上自动收集数据的方式几乎和互联网本身一样古老。虽然web抓取并不是一个新名词,但在过去的几年里,这种做法被更多地称为屏幕sc。 强奸,数据挖掘,网络采集,或类似的变化。今天的普遍共识似乎倾向于网络抓取,所以这是我将在整本书中使用的术语,尽管我偶尔会提到 网络抓取程序

就像机器人一样。

从理论上讲,Web抓取是通过与API交互的程序以外的任何方式收集数据的实践(或者,很明显,通过人类使用Web浏览器)。这是最常见的acc。 通过编写一个自动程序来查询web服务器,请求数据(通常以HTML和其他包含网页的文件的形式),然后解析这些数据以提取需要的数据。 d资料。

在实践中,Web抓取包括多种编程技术和技术,如数据分析和信息安全。这本书将涵盖网络抓取和cra的基础知识。 (第一部分),并深入研究第二部分中的一些高级主题。

为什么刮网?

如果你只通过浏览器访问互联网,你就错过了大量的可能性。虽然浏览器对于执行JavaScript、显示图像和安排是很方便的。 g对象具有更多的人类可读的格式(除其他外),web刮板在收集和处理大量数据(以及其他方面)方面非常出色。而不是在提姆上浏览一页 通过监视器的窄窗口,您可以同时查看跨越数千甚至数百万页的数据库。

此外,网络刮刀可以去传统搜索引擎不能去的地方。谷歌搜索“飞往波士顿最便宜的航班”将带来大量广告和热门航班搜索网站。 。

谷歌只知道这些网站在其内容页面上说什么,而不是进入飞行搜索应用程序的各种查询的确切结果。

然而,开发了一个开发良好的Web刮板,它可以图表T 随着时间的推移,他花了一次飞往波士顿的费用,跨越各种网站,告诉你购买机票的最佳时间。

您可能会问:“数据收集不是用于API吗?”(如果您不熟悉API,请参见第4章。)嗯,如果您找到一个适合您的目的的API,那么API可能是非常棒的。他们可以提供 从一个服务器到另一个服务器的格式良好的数据流。您可以为您想要使用的许多不同类型的数据找到API,例如Twitter帖子或维基百科页面。一般来说, 最好使用API(如果存在API),而不是构建一个bot来获取相同的数据。但是,API可能不存在的原因有几个:

您正在通过一个没有统一API的站点集合收集数据。

您想要的数据是相当小的、有限的集合,网站管理员认为不需要API。

源没有创建API的基础设施或技术能力。

即使存在API,请求数量和速率限制、数据类型或它提供的数据格式也可能不足以满足您的需要。

这就是网络抓取的地方。除了少数例外,如果您可以在浏览器中查看它,则可以通过Python脚本访问它。如果可以在脚本中访问它,则可以将其存储在数据库中。阿 如果您可以将它存储在数据库中,那么您几乎可以对该数据执行任何操作。

显然,在获取几乎无限的数据方面,有许多极其实用的应用:市场预测、机器语言翻译,甚至医疗诊断都从中受益。 从从新闻网站,翻译文本和健康论坛分别检索和分析数据的能力。

即使在艺术界,网络刮擦也为创作开辟了新的领域。乔纳森·哈里斯(JonathanHarris)和塞普·卡马尔(SepKamvar)的2006项目“我们感觉很好”为phr搜索了各种英语博客网站。 从“我感觉”或“我感觉”开始。这导致了

流行的数据可视化,描述世界的感觉,一天一天,一分钟一分钟。

不管你的领域是什么,几乎总有一种方法可以更有效地指导商业实践,提高生产力,甚至可以完全扩展到一个全新的领域。

关于这本书

这本书的目的不仅是作为一个介绍网络抓取,但作为一个全面的指南,抓取几乎所有类型的数据从现代网络。虽然它使用Python程序 ING语言,并涵盖了许多Python基础,它不应该被用作语言的介绍。如果你不是一个专业的程序员,而且一点也不懂Python,这本书可能是 一个挑战。然而,如果你是一个有经验的程序员,你应该发现材料很容易拿起来。附录A涵盖了安装和使用Python 3.x,整个书中都使用了Python 3.x 。如果您只使用过Python2.x,或者没有安装3.x,则可能需要查看附录A。如果您正在寻找更全面的Python资源,请参阅BillL介绍Python的一本书。 Ubanovic是一个很好的指南,如果很长的话。对于注意力跨度较短的人来说,Jessika McKeller的“Python入门”视频系列是一个很好的资源。附录C包括个案研究 ES,以及可能影响您如何在美国合法运行刮刀并使用它们生成的数据的关键问题的分解。技术书籍通常能够集中于一本 语言或技术,但网络擦伤是一个相对不同的主题,需要使用数据库、Web服务器、HTTP、HTML、互联网安全、图像处理、数据科学的实践。 以及其他工具。这本书试图涵盖所有这些在一定程度上,目的是收集数据从远程来源通过互联网。第一部分介绍了web抓取和web c的主题。 Rawling在深度,一个强大的重点是少数几个图书馆使用的整本书。第一部分可以很容易地作为这些库和技术的综合参考( 例外情况,将提供更多的参考资料)。第二部分介绍了读者在编写网页刮板时可能发现有用的其他主题。不幸的是,这些主题太宽泛了。 被整齐地包裹在一个章节里。因此,将经常参考其他资源以获得更多信息。这本书的结构很容易跳 在各个章节中找到你所要寻找的网络抓取技术或信息。当一个概念或一段代码建立在前一章提到的另一个概念或代码上时,我将解释。 适当地参考在其中处理它的部分。

本书中使用的惯例

本书中使用了下列排版约定:斜体表示新的术语、URL、电子邮件地址、文件名和文件扩展名。用于程序列表的恒定宽度,以及w 引用程序元素的段落,如变量或函数名称、数据库、数据类型、环境变量、语句和关键字。常量宽度粗体显示命令或其他te 应该由用户键入的XT。恒定宽度斜体显示文本,应该用用户提供的值或由上下文确定的值替换。提示此元素表示提示或建议 古斯堪的那维亚语(Old Norse)

笔记

此元素表示一般注意事项。

警告

此元素表示警告或警告。

使用代码例子

补充材料(代码示例、练习等)可在http://pythonscraping.com/code/下载。这本书是为了帮助你完成你的工作。通常,如果示例代码关闭 通过这本书,你可以在你的程序和文档中使用它。除非您正在复制代码的很大一部分,否则不需要与我们联系以获得许可。例如,编写一个 使用本书中的几段代码的程序不需要权限。出售或分发Olsquo;Reilly书籍中的例子光盘确实需要许可。用 引用此书并引用示例代码不需要许可。将本书中大量的示例代码包含到产品的文档中确实需要许可。我们 精确,但不要求归属。属性通常包括标题、作者、出版者和ISBN。例如:RyanMitchell(Olsquo;Reilly)用Python进行Web抓取。版权2015 R 严米切尔,978-1-491-#number0#-0.“如果您觉得您使用的代码示例超出了合理使用范围或此处所给予的许可,请随时与我们联系,请登录perCES@oreilly.com。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[22326],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版