iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >如何使用node.js爬取知乎图片
  • 863
分享到

如何使用node.js爬取知乎图片

2024-04-02 19:04:59 863人浏览 八月长安
摘要

这篇文章主要介绍了如何使用node.js爬取知乎图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。原理初入爬虫的坑,没有太多深奥的理论知识,

这篇文章主要介绍了如何使用node.js爬取知乎图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

原理

初入爬虫的坑,没有太多深奥的理论知识,要获取知乎上帖子中的一张图片,我把它归结为以下几步。

  • 准备一个url

  • 获取这个url的html内容,并分析其中的dom结构,遍历找到这些漂亮的妹纸图片url

  • 获取图片内容

  • 将图片内容写入本地文件

开始动手

大概知道原理之后我们就可以开干了

准备一个url

这个最简单了,去知乎随便一搜就是一大把,我们以

发一张你认为很漂亮的美女照片?

为例子,先来分析一下这个页面的dom结构,其实很简单,知乎的一个页面中会包含很多种类型的图片,有头像,用户评价上传的图片啥的。基本上在noscript种都可以找到对应的图片地址。

如何使用node.js爬取知乎图片

获取这个url的html内容,并且拿到当前页面noscript中的img链接

这一步我们需要会点简单的nodejs的知识,以及用到一个库叫cheerio,这个库具体是用来做什么的,详细请移步cheerio。

简单来说就是可以在命令行中使用Jquery来搜索遍历获取相应的元素。

那么怎样才能获取这个帖子的html呢

使用nodejshttps模块

var Https = require('https')
getAllHtml (url, callback) {
 let sHtml = '',
 _this = this;
 https.get(url, (res) => {
 res.on('data', (data) => {
 sHtml += data;
 });
 res.on('end', () => {
 callback.bind(_this, sHtml)();
 })
 }).on('error', (err) => {
 console.log(err);
 });
}

通过以上操作拿到网站的html之后,便是遍历出我们需要的图片地址来了

filterHtml (sHtml, filePath) {
 let $ = cheerio.load(sHtml), // 将上一步拿到的网站html传入cheerio.load,便得到类似于包装过的jQuery对象,可以像jQuey的选择器一样来选择元素
 $Imgs = $('noscript img'),
 imgData = [],
 _this = this;
 $Imgs.each((i, e) => {
 let imgUrl = $(e).attr('src'); //取出对应的url
 imgData.push(imgUrl);
 // 将url传入开始下载
 _this.downloadImg(imgUrl, _this.filePath, 
 function (err) {
 console.log(imgUrl + 'has be down');
 });
 });
 console.log(imgData);
}

有了图片的url,如何下载到本地呢?

我们需要使用request这个库,简单的调用一下api再结合node原生写文件的api。

downloadImg (imgUrl, filePath, callback) {
 let fileName = this.parseFileName(imgUrl);
 request(imgUrl).pipe(fs.createWriteStream('./' + filePath + '/'+fileName)).on('close', callback && callback);
 }

感谢你能够认真阅读完这篇文章,希望小编分享的“如何使用node.js爬取知乎图片”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网html频道,更多相关知识等着你来学习!

--结束END--

本文标题: 如何使用node.js爬取知乎图片

本文链接: https://www.lsjlt.com/news/69670.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何使用node.js爬取知乎图片
    这篇文章主要介绍了如何使用node.js爬取知乎图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。原理初入爬虫的坑,没有太多深奥的理论知识,...
    99+
    2024-04-02
  • 怎么使用node.js爬取知乎图片
    这篇文章主要介绍了怎么使用node.js爬取知乎图片的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么使用node.js爬取知乎图片文章都会有所收获,下面我们一起来看看吧。原理初入爬虫的坑,没有太多深奥的理论知...
    99+
    2023-06-17
  • node.js怎么爬取知乎图片
    这篇文章主要介绍“node.js怎么爬取知乎图片”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node.js怎么爬取知乎图片”文章能帮助大家解决问题。原理初入爬虫的坑,没有太多深奥的理论知识,要获取...
    99+
    2023-07-04
  • 如何用python爬取知乎话题?
    因为要做观点,观点的屋子类似于知乎的话题,所以得想办法把他给爬下来,搞了半天最终还是妥妥的搞定了,代码是python写的,不懂得麻烦自学哈!懂得直接看代码,绝对可用 #coding:utf-8 """ @author:haoning @cr...
    99+
    2023-01-31
    如何用 话题 python
  • 如何使用python爬取知乎热榜Top50数据
    目录1、导入第三方库2、程序的主函数3、正则表达式匹配数据4、程序运行结果5、程序源代码1、导入第三方库 import urllib.request,urllib.error ...
    99+
    2024-04-02
  • 如何利用Node.js做简单的图片爬取
    目录介绍安装引入创建实例元素捕获下载图片结语介绍 爬虫的主要目的是收集互联网上公开的一些特定数据。利用这些数据我们可以能进行分析一些趋势对比,或者训练模型做深度学习等等。本期我们就将...
    99+
    2024-04-02
  • 如何使用Python爬虫爬取网站图片
    这篇文章主要介绍了如何使用Python爬虫爬取网站图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。此次python3主要用requests,解析图片网址主要用beautif...
    99+
    2023-06-22
  • 如何使用Java爬虫批量爬取图片
    目录Java爬取图片爬取思路具体步骤具体代码实体类 Picture 和 工具类 HeaderUtil下载类最重要的类:解析页面类 PictureSpider启动类 BootStrap...
    99+
    2023-05-15
    Java爬虫 Java爬虫批量 批量爬取图片
  • Python如何爬取觅知网素材图片
    这篇文章主要讲解了“Python如何爬取觅知网素材图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Python如何爬取觅知网素材图片”吧!【一、项目背景】   ...
    99+
    2023-06-21
  • python爬虫如何爬取图片
    这篇文章主要介绍了python爬虫如何爬取图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pytho...
    99+
    2023-06-14
  • 使用Python爬虫爬取妹子图图片
            最近在学习Python的爬虫部分。看到有网友在分享使用爬虫爬取各种网站的图片的代码,也想自己写个玩玩。今天花时间分析了一下妹子图网站的结构和HTML代码,使用urllib2和BeautifulSoup写出了一个自动下载妹子图...
    99+
    2023-01-31
    爬虫 妹子 图图
  • Node.js怎么实现爬取网站图片
    这篇文章主要介绍“Node.js怎么实现爬取网站图片”,在日常操作中,相信很多人在Node.js怎么实现爬取网站图片问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node.js怎么实现爬取网站图片”的疑惑有所...
    99+
    2023-06-29
  • python如何爬取网页图片
    要使用Python爬取网页图片,可以使用requests库来发送HTTP请求,然后使用beautifulsoup库或者正则表达式来解...
    99+
    2023-08-20
    python
  • 怎么使用Node.js开发一个简单图片爬取功能
    这篇文章主要介绍“怎么使用Node.js开发一个简单图片爬取功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Node.js开发一个简单图片爬取功能”文章能...
    99+
    2024-04-02
  • 如何使用Python自动爬取图片并保存
    小编给大家分享一下如何使用Python自动爬取图片并保存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、准备工作用python来实现对百度图片的爬取并保存,以情...
    99+
    2023-06-22
  • 如何使用Node.js压缩图片
    这篇文章主要讲解了“如何使用Node.js压缩图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Node.js压缩图片”吧!一、内容简介前段时间开发...
    99+
    2024-04-02
  • 怎么使用Java爬虫批量爬取图片
    本篇内容主要讲解“怎么使用Java爬虫批量爬取图片”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Java爬虫批量爬取图片”吧!爬取思路对于这种图片的获取,其实本质上就是就是文件的下载(H...
    99+
    2023-07-06
  • 怎么使用matlab爬取网页图片
    要使用Matlab来爬取网页图片,可以使用以下步骤:1. 首先,需要安装和配置Matlab的Web Access Toolbox。这...
    99+
    2023-08-20
    matlab
  • 怎么使用python爬取网页图片
    本篇内容介绍了“怎么使用python爬取网页图片”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在现在这个信息爆炸的时代,要想高效的获取数据,...
    99+
    2023-07-02
  • 使用python如何随心所欲地爬取百度图片
    小编给大家分享一下使用python如何随心所欲地爬取百度图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言之前爬取了很多静态网页的内容,包括:小说、图片等...
    99+
    2023-06-06
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作