Node.js制作图片下载爬虫的一般步骤

news/2024/7/5 15:08:22

图片下载爬虫分两部分:爬页面和下载图片。

爬页面时先看网址是https还是http的,然后选择不同的内置对象;

其次看编码,如果是charset=gb2312的网页就需要iconv帮忙转码,好在大部分都是utf8了这步多数可以省却,之后输出页面代码看看,不乱码就可以进行分析了;

有时候网页使用gzip编码压缩了(网页头字段Content-Encoding是gzip),这时必须用zlib解码再读取;

接下来用cheerio分析页面,用的是和jQuery相似的语法,分析出图片地址和下一页地址就完成任务了。

 

爬图片相对简单一些,首先还是要网址是https还是http的,然后选择不同的内置对象;

先试着下载一次,正常就OK了,如果下载下来的图片只有1K那么说明网站用了反爬虫手段,一般在header里加上Referer就好了,Referer地址就是网站的host地址。

 

好了,目前基本上就是这些,以后有必要再补充。

2017年11月20日08:24:17


http://www.niftyadmin.cn/n/2748059.html

相关文章

java randomDate,java-的类--Date、Calendar、Random

首先 Date类的构造方法Date nowdate new Date();Date afterdate new Date(1411122441L);方法、判断是否是成立System.out.println(nowdate.after(afterdate));System.out.println(nowdate.before(afterdate));克隆Date thirddate new Date();Date thirdDate (Date) afterda…

喜报销发布V2.6.1,领导审批可选择“加签”人,已审批单据可“作废”

企业商旅报销与费用管控SaaS平台“喜报销”V2.6.1版本发布。在本次新版本中,喜报销除新增新同事加入提醒、专项费及付款费用类别外,同时还新增了审批“加签”、已审批单据“作废”等功能,且日常报销、专项费用报销及付款,也可支持…

SAP OData编程指南

OData(Open Data Protocol)协议是一个开放的工业标准,用于定义RESTFul API的设计和使用。我的文章标题前加上SAP的前缀,只是为了表明这篇文章介绍的是Jerry在SAP项目开发中使用到OData的一些心得和经验。 目前OData被广泛用于SAP Business Suite和SAP S/…

【JAVA零基础入门系列】Day15 对象的比较

【JAVA零基础入门系列】(已完结)导航目录 Day1 开发环境搭建Day2 Java集成开发环境IDEADay3 Java基本数据类型Day4 变量与常量Day5 Java中的运算符Day6 Java字符串Day7 Java输入与输出Day8 Java的控制流程Day9 Java中的那个大数值Day10 Java中的数组Day1…

php7 refcount,PHP 7下变量的zval的refcount为何是2?

代码如下:$a "hello world";xdebug_debug_zval(a);然后在PHP7下运行:a: (refcount2, is_ref0)hello world在PHP5.5下运行:a: (refcount1, is_ref0)hello worldPHP 7的版本信息如下:PHP 7.1.5 (cli) (built: May 9 2017…

php分页高亮,php分页函数

/*** 分页函数* by hkshadow* 2011-04-07* Enter description here ...* param 结果总条数count(); $num* param 每页条数 $perpage* param 当前页 $curpage* param 分页地址$url index.php? . $para; $mpurl* param 数字分页数量 $page* $multipage ListMulti ( $max, $tpp…

Nginx的https配置记录以及http强制跳转到https的方法梳理

为什么80%的码农都做不了架构师?>>> Nginx的https配置记录以及http强制跳转到https的方法梳理 一、Nginx安装(略) 安装的时候需要注意加上 --with-httpsslmodule,因为httpsslmodule不属于Nginx的基本模块。 Nginx安装…

数据库设计系列9--将ER模型映射为表

在前面的步骤中,我们创建了数据库的ER模型,ER模型属于概念级别的模型,需要映射为表才能被计算机存储。本章节的目标就是从ER模型中创建表,并检查这些表的结构。这组表应该代表逻辑数据库模型中的实体,关系,…