首页 - 神途资讯 > 用一行代码在几秒钟内抓取任何网站

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

发布于:2024-04-05 作者:admin 阅读:117

关注顶级带你全面认识

顶级后台回复1024有特别礼包

责编:顶级Python | 来源:网络

上一篇精彩Django 5.0来啦,能否成为更流行的Python Web框架!

大家好,我是顶级Python。


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

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

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

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

如何使用

通过 pip 下载

$ pip install 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/
"
)

获取所有子站点的链接

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

links = web.getSubpagesLinks()

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

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

links2 = web.getSubpagesLinks()

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

查找媒体

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

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

images = web.getImages()

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

下载媒体

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

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

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

获取链接

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

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

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

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

获取链接域

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

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

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

初始化页面

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

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

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

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

下载视频

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

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

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

video_links = w3.getVideos()

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

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

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

到这里就完毕。

现在让我们下载一些 PDF。

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

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

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

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


为了跟上AI时代 *** 了一件事儿,我创建了一个知识星球社群:ChartGPT与副业。想带着大家一起探索ChatGPT和新的AI时代

有很多小伙伴搞不定ChatGPT账号,于是我们决定,凡是这三天之内加入ChatPGT的小伙伴,我们直接送一个正常可用的永久ChatGPT独立账户。

不光是增长速度最快,我们的星球品质也绝对经得起考验,短短一个月时间,我们的课程团队发布了8个专栏、18个副业项目

简单说下这个星球能给大家提供什么:

1、不断分享如何使用ChatGPT来完成各种任务,让你更高效地使用ChatGPT,以及副业思考、变现思路、创业案例、落地案例分享。

2、分享ChatGPT的使用方法、最新资讯、商业价值。

3、探讨未来关于ChatGPT的机遇,共同成长。

4、帮助大家解决ChatGPT遇到的问题。

5、提供一整年的售后服务,一起搞副业

星球福利:

1、加入星球4天后,就送ChatGPT独立账号。

2、邀请你加入ChatGPT会员交流群。

3、赠送一份完整的ChatGPT手册和66个ChatGPT副业赚钱手册。

其它福利还在筹划中... 不过,我给你大家保证,加入星球后,收获的价值会远远大于今天加入的门票费用 !

本星球之一期原价399,目前属于试运营,早鸟价139,每超过50人涨价10元,星球马上要来一波大的涨价,如果你还在犹豫,可能最后就要以更高价格加入了。。

早就是优势。建议大家尽早以便宜的价格加入!

欢迎有需要的同学试试,如果本文对您有帮助,也请帮忙点个赞 + 在看啦!❤️

在 GitHub猿 还有更多优质项目系统学习资源,欢迎分享给其他同学吧!



公众号后台回复或者面试有惊喜礼包!

就该这么学交流群

「顶级」建立了读者交流群,大家可以添加小编微信进行加群。欢迎有想法、乐于分享的朋友们一起交流学习。

扫描添加好友邀你进群,加我时注明【姓名+公司+职位】

二维码

扫一扫关注我们

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,请告知我们,本站将立刻删除涉嫌侵权内容。

相关文章