首页 > 其他分享 >用一行代码在几秒钟内抓取任何网站

用一行代码在几秒钟内抓取任何网站

时间:2023-12-25 12:33:48浏览次数:27  
标签:网站 代码 抓取 链接 我们 com 几秒钟 页面

如果你正在寻找最强大的 Python 抓取工具?不要再看了!这一行代码将帮助你立即启动并运行。

Scrapeasy

Scrapeasy 是一个 Python 库,可以轻松抓取网页并从中提取数据。它可用于从单个页面抓取数据或从多个页面抓取数据。它还可用于从 PDF 和 HTML 表格中提取数据。

Scrapeasy 让你只用一行代码就可以用 python 抓取网站,它非常便于使用并为你处理一切。你只需指定要抓取的网站以及你想要接收什么样的数据,其余的交给 Scrapeasy。

Scrapeasy Python 爬虫在编写时考虑到了快速使用。它提供以下主要功能:

  • 一键抓取网站——不仅仅是单个页面。
  • 最常见的抓取活动(接收链接、图像或视频)已经实现。
  • 从抓取的网站接收特殊文件类型,如 .php 或 .pdf 数据。

如何使用 Scrapeasy

通过 pip 下载

$ pip install scrapeasy

使用它

Scraeasy 考虑到了易用性。首先,从 Scrapeasy 导入网站和页面

from scrapeasy import Website, Page

初始化网站

首先,让我们创建一个新的网站对象。对于这种方式,只需提供主页的 URL。我将使用我多年前创建的网站的 URL:

web =Website("https://tikocash.com/solange/index.php/2022/04/13/how-do-you-control-irrational-fear-and-overthinking/
")

获取所有子站点的链接

好的,现在我们的网站已经初始化,我们对 tikocash.com 上存在的所有子网站感兴趣,要找出这一点,请让 Web 对象接收所有子页面的链接。

links = web.getSubpagesLinks()

根据你的本地互联网连接和你正在抓取的网站的服务器速度,此请求可能需要一段时间,确保不要使用这种非常庞大的方法抓取整个网页。

但回到链接获取:通过调用 .getSubpagesLinks(),用你请求所有子页面作为链接,并将收到一个 URL 列表。

links2 = web.getSubpagesLinks()

你可能已经注意到缺少典型的 http://www.-stuff。这是没有目的的,并且使你的生活更容易进一步使用链接。但请确保——当你真正想在浏览器中或通过请求调用它们时——请在每个链接前面添加 http://www. 。

查找媒体

让我们尝试找到指向 fahrschule-liechti.com 放置在其网站上的所有图像的链接。

我们通过调用 .getImages() 方法来做到这一点。

images = web.getImages()

响应将包括指向所有可用图像的链接。

下载媒体

现在让我们做一些更高级的事情。我们喜欢 tikocash.com 在其网站上的图片,所以让我们将它们全部下载到我们的本地磁盘。听起来工作量是不是很大?其实很简单!

web.download("img", "fahrschule/images")

首先,我们定义通过关键字 img 下载所有图像媒体。接下来,我们定义输出文件夹,图像应保存到的位置。就是这样!运行代码,看看发生了什么。几秒钟之内,你就收到了 Tikocash.com 上的所有图片。

获取链接

接下来,让我们找出 tikocash.com 链接到哪些页面。为了获得总体概述,让我们找出它链接到的其他网站,出于这个原因,我们指定只获取域链接。

domains = web.getLinks(intern=False, extern=False, domain=True)

因此,我们得到了在 tikocash.com 上链接的所有链接的列表。

好的,但现在我们想进一步了解这些链接,我们如何做到这一点?

获取链接域

好吧,更详细的链接只不过是外部链接,所以,我们做了同样的请求,但这次包括外部,但不包括域。

domains = web.getLinks(intern=False, extern=True, domain=False)

在这里,我们将详细了解所有外部链接。

初始化页面

好的,到目前为止,我们已经看到了很多关于网站的东西,但是,我们还没有发现 Page 是做什么的。

好吧,如前所述,该页面只是网站中的一个站点,让我们通过初始化W3schools页面,来尝试不同的示例。

w3 = Page("https://www.w3schools.com/html/html5_video.asp")

如果你还没有猜到,你很快就会明白为什么我选择了这个页面。

下载视频

是的,你没听错。Scrapeasy 可让你在几秒钟内从网页下载视频,让我们来看看如何。

w3.download("video", "w3/videos")

是的,仅此而已。只需指定要将所有视频媒体下载到输出文件夹 w3/videos 中,就可以开始了。当然,你也可以只收到视频的链接,然后再下载,但这会不太酷。

video_links = w3.getVideos()

下载其他文件类型(如 pdf 或图片)

现在让我们更笼统地说,下载特殊文件类型,如 .pdf、.php 或 .ico 怎么样?使用通用的 .get() 方法接收链接,或使用文件类型作为参数的 .download() 方法。

calendar_links = Page("https://tikocash.com").get("php")

到这里就完毕。

现在让我们下载一些 PDF。

Page("http://mathcourses.ch/mat182.html").download("pdf", "mathcourses/pdf-files")

总之,Python 是一种通用语言,只需一行代码即可在几秒钟内抓取任何网站上的内容。

因此,这使其成为网络抓取和数据挖掘的强大工具。

因此,如果你需要从网站中提取数据,Python 是适合你的工具。

标签:网站,代码,抓取,链接,我们,com,几秒钟,页面
From: https://blog.51cto.com/u_15739596/8965802

相关文章

  • 用Java抓取天眼查公开失信人员信息
    做生意不管是大生意小生意讲究的是信用,如果信用不好的人,想必也没有人愿意和他做生意,最近我有几个朋友不是搞的装潢公司么,接了几个单子,想要问问通过一些信息能否查查对方是否是失信人员,当然都是通过正规渠道来的,还是老规矩,直接通过代码过去自动识别抓取。以下是一个简单的Java爬虫程......
  • 揭秘JVS低代码平台:如何通过行内按钮逻辑引擎配置,实现高效文件模板替换下载
    在当今数字化的时代,各行各业都在寻求更高效、更便捷的工作方式。对于业务应用来说,将线下操作转化为线上流程是提升效率的关键。在业务应用中通常需要把行数据某字段赋值到一个文件模板上,用户下载该文件模板用于盖章或签字等线下操作。这样的场景在JVS低代码平台上可以通过行内按钮......
  • 1848_emacs_org-mode代码块环境
    Grey全部学习内容汇总:https://github.com/greyzhang/g_org1848_emacs_org-mode代码块环境这一部分主要是涉及到一些代码的执行、引用以及输出处理等功能。从之前我看的资料来说,更加偏重于可重现研究但不一定是文学式编程的必要部分。内容来源看org-mode的代码块部分的时候,其实就......
  • 2023-12-25 无法正常关闭你的电脑 错误代码:0xc0000001 ==》试一下用windows命令【sfc
    最近我的电脑每次早上开机的时候就开始蓝屏,哪怕我晚上把它设置为睡眠模式,第二天打开还是不断蓝屏,对,不是一次,而是起码七八次!我的解决方案就是用命令去修复了一下,其实我在写这个随笔的时候我也不知道明天是否能够正常开机。先说导致蓝屏的代码:0xc0000001这个代码不一定能正确代表......
  • 对象深比较代码
    constperson1={"firstName":"John","lastName":"Doe","age":35};constperson2={"firstName":"John","lastName":"Doe","age&......
  • powershell中使用hyper-v 命令代码
    PowerShell中使用Hyper-V挂载、分离、创建和格式化VHD的代码:挂载VHD文件:powershell#挂载VHD文件Mount-VHD-Path"C:\test\disk.vhd"分离VHD文件:powershell#分离VHD文件Dismount-VHD-Path"C:\test\disk.vhd"创建VHD文件:powershell#创建10GB的VHD文件,并存......
  • 人工智能算法原理与代码实战:从机器学习到人工智能
    1.背景介绍人工智能(ArtificialIntelligence,AI)是计算机科学的一个分支,研究如何让计算机模拟人类的智能。人工智能的目标是让计算机能够理解自然语言、认识环境、学习新知识、解决问题、作出决策等。人工智能的发展涉及到多个领域,包括机器学习、深度学习、计算机视觉、自然语言处......
  • 人工智能算法原理与代码实战:从推荐系统到广告算法
    1.背景介绍人工智能(ArtificialIntelligence,AI)是一门研究如何让机器具有智能行为的科学。智能可以包括学习、理解自然语言、识别图像和视频、推理、决策等多种能力。人工智能算法是一种用于解决智能问题的算法,它们通常涉及大量数据、复杂的数学模型和高效的计算方法。在过去的几......
  • 人工智能算法原理与代码实战:从Docker到Kubernetes
    1.背景介绍人工智能(ArtificialIntelligence,AI)是计算机科学的一个分支,旨在模拟人类智能的能力,包括学习、理解自然语言、识别图像和视频、进行决策等。随着数据量的增加和计算能力的提高,人工智能技术的发展得到了巨大推动。在过去的几年里,我们看到了许多人工智能算法的创新和发展,如......
  • 人工智能算法原理与代码实战:强化学习与智能决策
    1.背景介绍强化学习(ReinforcementLearning,RL)是一种人工智能(ArtificialIntelligence,AI)技术,它旨在让计算机代理(agent)通过与环境(environment)的互动学习,以最小化惩罚或最大化奖励来达到目标。强化学习的核心思想是通过在环境中执行一系列动作来学习如何最佳地执行任务。强化学习......