动态网页抓取( Web抓取是从网站中提取数据的过程简单介绍!)
优采云 发布时间: 2021-09-12 00:08动态网页抓取(
Web抓取是从网站中提取数据的过程简单介绍!)
您在日常生活中通常做什么?阅读新闻、发送电子邮件、查找最具成本效益的产品或在线搜索工作?如您所知,大多数这些任务都可以通过网络爬虫自动完成。不需要花几个小时浏览网站,有电脑的话几分钟就能搞定。
网页抓取是从网站中提取数据的过程。学习网页抓取就像学习 Beautiful Soup、Selenium 或 Scrapy 等库如何在 Python 中工作一样简单。但是,如果你不能将所有学到的概念付诸实践,那就是浪费时间。
尝试网页抓取项目不仅可以帮助您学习网页抓取理论,还可以帮助您开发机器人、自动执行日常任务,并让您有动力学习这项新技能。在这篇文章中,我列出了一些可以自动化大多数人每天遇到的任务的项目。项目按难度列出,初级项目在开头,高级项目在文章末尾。
一、自动化重复性任务
为了使第一个项目对初学者友好,我们将使用 Beautiful Soup,因为它是最简单的用于网页抓取的 Python 库。
这个项目的目标是从任何网站(例如news文章、post等)文章获取标题和主要段落。之后,将所有内容导出到 .txt 文件中,该文件应命名为文章 并带有标题。该项目的演示可以在下面的 gif 中找到。在这种情况下,我没有爬取一条新闻文章,而是爬取了电影“泰坦尼克号”的文本。第一个项目的代码可以在我的 Github 上找到。
这个初学者项目将帮助我们熟悉 Python 中网页抓取的核心概念,例如如何从网站 获取 HTML、在网站 中查找元素以及将数据导出到 .txt 文件。
当然,您可以手动复制粘贴数据,然后在不到一分钟的时间内创建一个 .txt 文件;然而,现在想象一下这样做十个或更多文章!手动完成需要很多时间,但是使用 Python 和 Beautiful Soup,我们可以创建一个脚本来提取这些数据,然后添加一个 for 循环来在几分钟内抓取多个页面。
下面列出了一些其他重复性任务,您可以通过网络抓取来自动执行这些任务。请记住,您需要具备 Selenium 的基本知识才能自动执行这些操作(查看本指南以从头开始学习 Selenium)
一个。发送邮件
B.在社交媒体上发帖
c.点菜
二、获取足球数据:自动运动分析
如果你喜欢运动,每场比赛结束后,你可以访问网站,它会提供诸如最终得分和球员表现等免费统计数据。在每次新游戏后获取这些数据是不是很酷?或者更好地想象能够使用这些数据来创建报告,以找到有关您最喜欢的球队或联赛的有趣见解。
这是第二个项目的目标——获取收录您最喜欢的体育统计数据的网站。大多数情况下,这种类型的数据是在一个表中,所以一定要以CSV格式导出数据,以便您以后可以使用Pandas库读取数据并找到见解。为了更好地理解这个项目,请查看下面的 gif。在那个演示中,我提取了过去 3 年多场足球联赛的比分。
大多数有锻炼数据的网站都使用 JavaScript 来动态更新数据。这意味着我们不能在这个项目中使用 Beautiful Soup 库。相反,我们将使用 Selenium 单击按钮,选择下拉列表中的元素,然后提取所需的数据。
你可以在我的 Github 上找到这个项目的代码。您可以通过寻找在游戏中得分更高的团队来使该项目更具挑战性。有了这个,您可以创建一个报告,告诉您具有高得分趋势的匹配项。这将帮助您在分析足球比赛时做出更好的决定。在此链接上,您可以找到有关如何完成项目最后一部分的指南。
三、Grab 求职门户:自动化求职
通过抓取网络可以减少找工作的难度。诸如在多个页面中搜索新工作、检查特定工作要求和薪资范围等,如果您手动进行,可能需要大约 20 分钟。幸运的是,所有这一切都可以通过几行代码自动完成。
在这个项目中,你应该创建一个机器人,它会抓取一个工作门户来获取特定工作的要求和薪水。您可以在本项目中使用 Beautiful Soup 或 Selenium,但方法会因您使用的库而异。
如果您使用 Beautiful Soup,请只关注收录您要抓取的最终数据的页面。您可以按照此视频教程来帮助您开始此项目。
话虽如此,我建议您使用Selenium,因为您可以在网站 上自由执行更多操作。最棒的是你可以在每次操作后运行代码,并在浏览器中查看机器人执行的步骤。要使用 Selenium 解决此问题,请考虑从您最喜欢的工作门户获取数据通常会遵循的所有步骤。
例如,访问网站,写下职位名称,单击搜索按钮,然后浏览每个职位发布以提取任何相关信息。之后,使用 Selenium 库在 Python 中复制这些步骤。
四、Grab 商品价格:获得最优惠的价格
如果您想为特定商品找到最优惠的价格,购物可能会变得非常耗时。在网站 上找到汽车、电视和衣服的最优惠价格可能需要几个小时;幸运的是,您需要几分钟时间才能完成我们的下一个网络抓取项目。
这是本文列出的最高级的项目,分为两部分。首先,去你最喜欢的网上商店,采集产品名称、价格、折扣和链接等数据,以便你以后可以找到它们。我建议你在这个项目中使用 Scrapy 库,如果你打算爬很多页面,因为它是 Python 中最快的网络爬行库。您可以按照本教程来帮助您开始这个项目。
对于项目的第二部分,您必须跟踪提取的价格,以便在特定产品的价格大幅下降时收到通知。
请记住,您可以将最终项目的想法应用到您感兴趣的其他领域。举几个例子。
一个。抓住股价
B.把握投注赔率
c.获取加密货币价格
例如,我不是抓取产品价格,而是抓取投注赔率。想法是一样的,在多个*敏*感*词*公司中找到最佳赔率。然后在赔率增加时收到通知。
原文:
云管理服务专家新钛云服务张纯译