• 告别重复任务!帮你实现自动化生活的4个网页抓取项目

    你日常生活中一般都在做哪些事情?阅读新闻、发送电子邮件、找到最划算的产品、或在网上搜索工作?你可知,这些任务中的大部分,都可以通过网页抓取自动完成。不需要花几个小时浏览网站,有电脑只需几分钟就可以搞定。

    Web抓取是从网站中提取数据的过程。学习Web抓取就像学习Beautiful Soup、Selenium或Scrapy等库如何在Python中工作一样简单。然而,如果你不能把所有学到的概念付诸实践,就是浪费时间。

    尝试web抓取项目,不仅会帮助你学习web抓取理论,还会帮助你开发机器人,将日常任务自动化,保持你学习这个新技能的动机。本文,我列出了一些可以自动完成大多数人每天都会遇到的任务的项目。项目是按难度列出的,所以初级项目在开头,而高级项目在文章的最后。

    一、使重复的任务自动化

    为了使第一个项目对初学者友好,我们将使用Beautiful Soup,因为它是最简单的web抓取Python库。

    该项目的目标是从任何网站(如新闻文章,帖子等)的一篇文章中获取标题和主体段落。在此之后,导出一个.txt文件中的所有内容,该文件应该被命名为文章的标题。这个项目的演示可以在下面的gif中找到。在这种情况下,我没有抓取一篇新闻文章,而是抓取了电影《泰坦尼克号》的文本。做这个第一个项目的代码可以在我的Github上找到。

    这个初学者项目将帮助我们熟悉 Python 中网页抓取的核心概念,例如如何从网站获取 HTML、在网站中查找元素以及将数据导出到 .txt 文件中

    当然,您可以手动复制粘贴数据,然后在不到一分钟的时间内创建一个 .txt 文件;但是,现在想象一下为十篇或更多文章这样做!手动完成需要很多时间,但是使用 Python 和 Beautiful Soup,我们可以创建一个脚本来提取该数据,然后添加一个 for 循环以在几分钟内抓取多个页面。

    下面列出了您可以通过网络抓取自动执行的其他一些重复性任务。 请记住,您将需要 Selenium 的基本知识来自动化它们(查看本指南以从头开始学习 Selenium)

    a. 发送邮件

    b.在社交媒体上发帖

    c.订购食品

    二、抓取足球数据:自动化体育分析

    如果您喜欢运动,那么在每场比赛之后,您可能会访问提供诸如最终比分和球员表现等免费统计数据的网站。 在每场新比赛后获取这些数据不是很酷吗?或者甚至更好地想象能够使用该数据创建报告以查找有关您最喜欢的球队或联赛的有趣见解。

    这就是第二个项目的目标——抓取一个包含你最喜欢的运动统计数据的网站。 大多数情况下,这种类型的数据都在表中,因此请确保以 CSV 格式导出数据,以便使用 Pandas 库读取数据并在以后找到见解。为了更好地了解这个项目,请查看下面的 gif。在那个演示中,我提取了过去 3 年多个足球联赛的比赛得分

    大多数有运动数据的站点都使用javascript动态更新数据。这意味着我们不能在这个项目中使用Beautiful Soup库。相反,我们将使用Selenium来单击按钮,选择下拉列表中的元素,并提取所需的数据

    你可以在我的Github上找到做这个项目的代码。你可以通过寻找在比赛中得分更多的球队来让这个项目更具挑战性。有了这个,你就可以创建一个报告,告诉你有高进球趋势的比赛。这将帮助你在分析足球比赛时做出更好的决定。在这个链接上,你可以找到如何完成项目最后一部分的指南。

    三、抓取工作门户:自动化求职

    找工作可以通过网络抓取变得不那么困难。 诸如在多个页面中搜索新工作、检查特定工作的要求以及工资范围之类的事情,如果您手动完成,可能需要大约 20 分钟。幸运的是,所有这些都可以通过一些代码行实现自动化。

    在这个项目中,你应该创建一个机器人,它会抓取一个工作门户来获取特定工作的要求和提供的薪水。您可以在此项目中使用 Beautiful Soup 或 Selenium,但该方法会因您使用的库而异。

    如果您使用 Beautiful Soup,请仅关注包含您希望抓取的最终数据的页面。您可以按照此视频教程来帮助您开始此项目

    话虽如此,我建议您使用 Selenium,因为您可以自由地在网站上执行更多操作。最好的事情是,您可以在每次操作后运行代码,并在浏览器中查看机器人执行的步骤。要使用 Selenium 解决这个问题,请考虑从您最喜欢的工作门户获取数据通常会遵循的所有步骤。

    例如,访问网站、写下职位名称、单击搜索按钮以及浏览每个职位发布以提取任何相关信息。之后,使用 Selenium 库在 Python 中复制这些步骤。

     四、抓取产品价格:得到最好的价格

    如果你想为某一特定商品找到最划算的价格,购物可能会变得很耗时。在网站上寻找汽车、电视和衣服的最优惠价格可能需要几个小时;幸运的是,这将花费您几分钟时间来完成我们的下一个web抓取项目。

    这是本文中列出的最高级的项目,分为两个部分。首先,去你最喜欢的网上商店,收集商品的名称、价格、折扣和链接等数据,这样你以后就可以找到它们。我建议你在这个项目中使用Scrapy库,如果你计划抓取很多页面,因为它是Python中最快的web抓取库。您可以按照本教程帮助您开始这个项目。

    对于项目的第二部分,您必须跟踪提取的价格,因此当特定产品的价格大幅下降时,您将收到通知。

    请记住,您可以将最后的项目理念应用到您感兴趣的其他领域。举几个例子。

    a. 抓取股价

    b. 抓取博彩赔率

    c. 抓取加密货币价格

    例如,我不是抓取产品价格,而是抓取投注赔率。想法是一样的,在多个博彩公司中找到最好的赔率。然后在赔率增加时得到通知。

    原文:https://medium.com/geekculture/4-web-scraping-projects-that-will-help-automate-your-life-6c6d43aefeb5

    云管理服务专家新钛云服 张春翻译

     

    «
    »
以专业成就每一位客户,让企业IT只为效果和安全买单

以专业成就每一位客户,让企业IT只为效果和安全买单