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

举报
Carl_奕然 发表于 2023/03/13 11:06:57 2023/03/13
【摘要】 这个工具,可真刑。

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

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


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 博客专家;
  • 阿里云 专家博主;
  • 51CTO 博客专家;
  • 51认证讲师;
  • 金牌面试官&面试培训师;

关注我,带你学习更多更有趣的Python知识。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。