Python3,爬虫有多简单,一个库,一行代码,就OK, 你确定不来试试?

news2025/2/23 6:24:43

爬虫进阶库:Scrapeasy

  • 1、 引言
  • 2、Scrapeasy
    • 2.1 简介
      • 2.1.1 Scrap
      • 2.1.2 Scrapeasy
    • 2.2 安装
    • 2.3 代码示例
  • 3、总结

1、 引言

小屌丝:鱼哥, 我最近在练习写爬虫, 你有没有什么便捷的方式…
小鱼:比如呢?
小屌丝:比如,一句话就可以搞得定爬取整个网站。
小鱼:我不是写过挺多的爬虫案例嘛,你咋还问这个问题,
小屌丝:你写的哪些教程,像我这种比较懒散的人,不适用!
小鱼:我擦~ ~ 你这…
小屌丝:鱼哥,你就像这篇《只用1行代码就下载全网视频》,就一行代码, 我保证妥妥的会。
小鱼:Let me 想一下。
在这里插入图片描述

2、Scrapeasy

按照小屌丝的想法, 我想到了一个库:Scrapeasy
小屌丝:这是不是第三方库。
小鱼:必须的,python自带库,能有这么强大的功能吗?
在这里插入图片描述

2.1 简介

2.1.1 Scrap

关于Scrapeasy 大家可能了解的不多,
但是 Scrap 爬虫大佬肯定了解。
那什么是Scrap呢?

Scrapy

Scrapy是一个功能强大的网络爬虫类库,通过命令pip install scrapy进行安装,爬取的海量数据可以通过MongoDB进行存储。

我上一个架构图:

在这里插入图片描述
关于Scrap的其他功能,
可以移步 Scrap官网进行阅读,这里不做过多介绍。

2.1.2 Scrapeasy

我们再来了解 Scrapeasy。
Scrapeay 是Python的一个第三方库,主要功能:

  • 可以抓取网页数据;
    • 从单网页提取数据;
    • 多网页提取数据;
  • 可以从PDF和HTML表格中提取数据;

听着是很牛的样子,
接下来,我们就去代码中实践,看看到底有多牛。

2.2 安装

涉及到第三方库,肯定就需要安装
老规矩,pip 安装

pip install scrapeasy

其它安装方式,直接看这两篇:

  • Python3,选择Python自动安装第三方库,从此跟pip说拜拜!!
  • Python3:我低调的只用一行代码,就导入Python所有库!

2.3 代码示例

代码示例

# -*- coding:utf-8 -*-
# @Time   : 2022-10-31
# @Author : Carl_DJ

'''
实现功能:
    通过scrapeasy 来实现爬取数据

'''

from scrapeasy import Website,Page

#创建网站对象

#这里我就以我博客的地址为例子
webs = Website("https://blog.csdn.net/wuyoudeyuer?type=blog")

#获取所有子链接
urls = webs.getSubpagesLinks()
#输出信息
print(f'打印所有链接信息:{urls}')


#查找图片

images = webs.getImages()

print(f'打印所有的图片信息:{images}')

#下载图片
webs.download('img','./data')

#下载pdf
webs.download('pdf','./data')


#获取链接
main_urls = webs.getLinks(intern=False,extern=False,domain=True)

#获取链接域
domain = webs.getLinks(intern=False,extern=True,domain=False)

# 下载其他类型的文件
cal_urls = webs.get("php")


解析

  • 下载所有链接: getSubpagesLinks() 方法;
  • 查找图片:getImages()方法;
  • 下载:webs.download()方法;
  • 下载其他格式文件:get(“文件类型”);

3、总结

看到这里,今天的分享差不多就该结束了。
今天主要是针对scrapeasy这个库进行简单的分享。
学会scrapeasy,你算是迈入的爬虫的 门槛。
其实关于爬虫,我也写过一些教程和案例,例如:

  • Python3:我只用1行代码就下载全网视频,我被我的才华和颜值征服了!!
  • Python3,20行代码,通过微信电脑版爬取朋友圈数据,老板再也抓不到我上班看手机了!!!
  • Python3,多线程爬完B站UP主的视频弹幕及评论,我飘了~ ~ ~
  • Pyhotn3,爬取B站up主的信息!

这里就不过多列举了,更多的示例,可以看小鱼的爬虫实战专栏的

我是小鱼

  • CSDN博客专家
  • 51Testing认证讲师
  • 金牌面试官
  • 商务合作|面试培训|职场规划,可以扫码咨询

关注我,带你学习Python领域更多更专业的技能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2883.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

公众号网课查题接口

公众号网课查题接口 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(点击…

【C】自定义类型(二)位段,枚举,联合

🙈个人主页: 对de起日子 👉系列专栏:【C语言–大佬之路】 🎈今日心语:谨慎的选择自己的生活,不要轻易让自己迷失在各种诱惑里。 前一章我们介绍了结构体,这一章我们来介绍一下内容&a…

大猩猩优化算法(Matlab代码实现)

💥💥💥💞💞💞欢迎来到本博客❤️❤️❤️💥💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑…

springboot:整合其它项目

目录 一、集成Druid application.yml 二、集成redis之非注解式开发 pom.xml application.yml RedisConfig ClazzBizImpl.java 三、集成redis之注解缓存开发 RedisConfig RedisConfig 一、集成Druid 在昨天的基础上 参考网址 https://github.com/alibaba/druid/tre…

C---指针

目录指针偏移问题:为什么用指针?1.强制给指针选地址:2.交换两个变量的值指针与数组1.指针数组:数组中的每一项都是个指针2. 指针数组的用法数组指针:一个指向数组的指针函数指针:malloc内存泄露&#xff08…

洛谷千题详解 | P1005 [NOIP2007 提高组] 矩阵取数游戏【C++、 Java、Python语言】

博主主页:Yu仙笙 专栏地址:洛谷千题详解 目录 题目描述 输入格式 输出格式 输入输出样例 解析: C源码: Java源码: Python源码: ----------------------------------------------------------------------…

论文阅读之RETHINKING POSITIONAL ENCODING IN LANGUAGE PRE-TRAINING

文章目录论文阅读总结参考论文阅读 文章大概提出了两个问题: 1.对于原来的transformer或者bert的embedding中,直接将word embedding(词向量)和positional embedding (位置编码)相加是不合理的,…

Netty入门——组件(Channel)一

目录一、channel的主要作用二、EventLoop处理io任务代码示例2.1、服务端代码示例2.2、客户端代码示例2.3、服务端和客户端查看控制台输出结果三、ChannelFuture连接问题代码示例3.1、服务端代码示例3.2、客户端代码示例3.3、服务端和客户端查看控制台输出结果3.4、ChannelFutur…

MyBatis的二级缓存

MyBatis的二级缓存 二级缓存是SqlSessionFactory级别,通过同一个SqlSessionFactory创建的SqlSession查询的结果会被缓存;此后若再次执行相同的查询语句,结果就会从缓存中获取。 二级缓存开启的条件: 1.在核心配置文件中&#x…

软件测试:写一个好的测试用例

测试场景: 为登录功能设计测试用例 测试员为什么要会编测试用例 测试员的目标是要保证系统在各种场景下的功能是符合设计要求的。而测试用例就是测试员想到的测试场景。(这也是高级别的测试员即使不会代码也能找到较好工作的原因) 编写测试…

数据库2,DQL数据查询语言,表关联关系

目录 DQL数据查询语言 简单查询语句 计算列 别名 distinct消除重复行 条件查询 条件运算符 null值判断 枚举查询 模糊查询 分支查询 函数 字符串函数 聚合函数 排序查询 分组查询Group by 分页查询Limit 表关联关系 一对一关联 一对多与多对一 多对多关联 …

[CKA备考实验][ingress-nginx] 4.2 集群外访问POD

1.创建Deployments 部署方法请参照: https://blog.csdn.net/qq_33868661/article/details/127505429?spm1001.2014.3001.5501 apiVersion: apps/v1 kind: Deployment metadata:labels:name: deploy1annotations:name: deploy1name: deploy1namespace: default sp…

要么干要么滚!推特开始裁员了;深度学习产品应用·随书代码;可分离各种乐器音源的工具包;Transformer教程;前沿论文 | ShowMeAI资讯日报

👀日报合辑 | 📆电子月刊 | 🍩韩信子 📢 解散Twitter董事会,代码审查,裁员25%,收每月20美元认证费马斯克那些骚操作 埃隆马斯克 (Elon Musk) 抱着洗手池入主 Twitter 后,狂风骤雨已…

STM32入门——uKeil5 MDK 的使用(基于固件库)

文章目录1 Keil uVision5 MDK 是什么2 建立一个标准库函数工程2.1 前期准备2.2 建立工程2.3 建立组文件夹2.4 添加文件2.4 配置“魔术棒”选项卡2.5 建立 main 函数1 Keil uVision5 MDK 是什么 Keil 软件是一种统称,它包含编辑器、编译器、链接器、调试器等众多工具…

冰冰学习笔记:二叉搜索树

欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正。 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位…

堆外内存和堆内内存及虚引用的应用

目录 内存区域划分: 元空间 程序计数器 直接内存 对象的创建 对象的访问定位 判断对象是否存活 堆外内存 堆内内存的缺点以及引入堆外内存 为什么需要堆外内存? 如何分配堆外内存? 如何回收堆外内存? 1) System.gc()…

C语言函数章--第二弹(让冤种室友用你的函数,但不给他看函数源码)

前言 💖作者:龟龟不断向前 ✨简介:宁愿做一只不停跑的慢乌龟,也不想当一只三分钟热度的兔子。 👻专栏:C初阶知识点 👻工具分享: 刷题: 牛客网 leetcode笔记软件&#xff…

Error注入攻击

💪💪Error注入攻击1.创建漏洞环境2.漏洞攻击2.1判断是否有注入2.2信息收集2.3注入获取数据库名2.4注入获取表名2.5注入获取列名2.6注入获取信息3.sql靶场实战1.创建漏洞环境 💪💪第一步创建sql环境,直接再mysql下运行 …

Flutter——软件安装与环境配置

Flutter入门官网Flutter SDK下载创建Flutter项目在ios上运行第一个Flutter项目效果图代码总结官网 Flutter开发手册网址如下 Flutter SDK下载 下载地址 第一步:进入官网,选择自己相对应的系统 第二步:选择对应版本SDK并下载到本地 创建Flu…

electron调用dll文件

Electron 对系统层能力的使用可能比较弱,此时需要求助 Python、C、C# 等语言,通过 ffi-napi 库可以让 Node.js 使用 C dll,通过 electron-edge-js 库可以让 Node.js 使用 C# dll 1. 先确定dll文件是用什么语言写的. 使用peid 应用查看- 这个…