github地址:https://github.com/hucuanbin/imgDownload

项目说明
1.使用的是node-webkit  有点大 可以压缩包下载查看

2.项目的最初初衷  是直接下载图片,然后直接浏览  比直接去网页看更直观

3.允许下载列表页的图片 和 详情页的大图

项目截图

项目简介:

因为是朋友经常需要找图片  所以就做了一个这样的东西

是通过get方法中是通过url查找,没有直接通过关键字,不太人性和直观,

前端代码在 view目录中

node代码主要是 app/js/background.js

压缩合并用的是gulp

项目原理:

界面设定需要抓取的网页 页码 图片信息等 前端循环遍历  让node去抓取图片地址 并且下载

get方式
1.通过$.ajax去请求页面信息,把dom字符串转成JQ对象,然后查找到对应的图片的地址 或者 图片详情的URL地址

2.通过node的http.get去请求图片信息,并用fs.writeFile下载保存图片,其中下载地址会通过fs.exists进行转化成绝对路径

3.之后发现有些网址请求失败,通过测试,判断为需要页面的cookies信息,则前端加一个iframe,url为当前的抓取的首页,并且通过chrome.webRequest.onBeforeSendHeaders的方法,吧cookies设置到请求中,提交通过

4.并且试过通过登陆,通过原来的下载链接,下载高清大图

5.并且怕抓取过于平凡 设置美0.3秒抓取一次,可以通过前端代码设置

6.通过改下载图片的后缀,例子400_600,等 拿到尽量高清的图片

post方式

1.post方式相对简单,只要知道请求的参数,填写就好

2.post一般都有Refererd的要求,通过谷歌浏览器API 对Refererd和Accept进行修改

3.拿到地址后继续下载图片

总结

在这个小的软件中,运用的新知识不太多,大多在我之前做的项目中就运用到了,不过在开发过程中,见招拆招的感觉,还是非常棒的。
也对ajax了解更进一步,之后也看了一些防抓取和抓取的文章,如果以后工作学习中遇到类似的事情,一定能手到擒拿

代码都在github理,没有进行压缩,不过nw好像有点背时代淘汰了,不过就算不用nw,学习过,以后用在别的壳里面也是可用的

转载于:https://www.cnblogs.com/tutu-binbin/p/8609179.html

node 项目 ------ 图片下载(加强ajax理解)相关推荐

  1. Node.js 批量下载图片

    前言 最近接手一个项目,是一个兄弟公司写的,使用PHP的ThinkPHP做的前后端在一起的项目.代码是别人搞到服务器上面去的,突然那边的整个技术部解散了,而我们这边在此之前我还没看见过代码.项目虽说部 ...

  2. Python漫画爬虫开源 66漫画 AJAX,包含数据库连接,图片下载处理

    小白爬虫,大神绕道 软件:mysql8 python3.8 首先观察漫画网站结构 2020/2/15 VictorGanro原创 仅学习使用 目标网站链接: http://6mh6.com/(我比较喜 ...

  3. python爬今日头条图片保存_爬虫实战【7】Ajax解析续-今日头条图片下载

    昨天我们分析了今日头条搜索得到的信息,一直对图集感兴趣的我还是选择将所有的图片下载下来. 我们继续讲一下如何通过各个图集的url得到每个图集下面的照片. 分析图集的组成 [插入图片,某个图集的页面] ...

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

    图片下载爬虫分两部分:爬页面和下载图片. 爬页面时先看网址是https还是http的,然后选择不同的内置对象:其次看编码,如果是charset=gb2312的网页就需要iconv帮忙转码,好在大部分都 ...

  5. java异步下载图片_CMS项目实现异步图片下载

    create table CMS_IMAGES ( id LONG PRIMARY KEY, --id wsrc varchar2(256),--远程图片地扯 lsrc varchar2(256),- ...

  6. python爬虫入门教程(三):淘女郎爬虫 ( 接口解析 | 图片下载 )

    2019/10/28更新 网站已改版,代码已失效(其实早就失效了,但我懒得改...)此博文仅供做思路上的参考 代码使用python2编写,因已失效,就未改写成python3 爬虫入门系列教程: pyt ...

  7. 云原生尝试——Docker部署node项目

    云原生--Docker实战 1.引言 2.学习条件 3.基本概念介绍 4.Docker基本使用 5.Docker进阶使用 6.参考文献 1.引言     最近一打开CSDN基本上都是在介绍云原生,本着 ...

  8. 【原】2009.NET年技术大会总结,有图片,说说我理解的技术大会 【下】

    在阅读本篇之前,请先看上篇,上篇地址是: http://www.cnblogs.com/OceanChen/archive/2009/02/27/1399192.html 首先来回答上篇遗留的问题, ...

  9. 海洋工作室——网站建设专家:【原】2009.NET年技术大会总结,有图片,说说我理解的技术大会【上】...

    阅读建议:一定要好好看完,然后做出你的评价,同时建议您留意高亮部分. 本来打算好好总结一下2009.NET年技术大会的.刚刚看到同事[LanceZhang]的博客,总结的挺快,挺酷的!而且总结的全面的 ...

最新文章

  1. Linux mkdir 命令创建多级目录
  2. Vue表单类的父子组件数据传递示例_vue.js_脚本之家
  3. 前端学习(2538):slice
  4. mysql php 入门_PHP入门教程之PHP操作MySQL的方法分析
  5. python数组排序sort_详解python中sort排序使用
  6. 后盾网php多少钱_商标转让做公证花多少钱-购店网
  7. java 自动类型转换_彻底理解Java中的基本数据类型转换(自动、强制、提升)
  8. allure的安装和使用(windows环境)
  9. tigervnc远程控制linux,CentOS 6.8 安装TigerVNC 实现 Linux 远程桌面(示例代码)
  10. exxi6.7如何传文件到win7_Win7文件误删如何恢复?这三种方法请收好
  11. 1-概述程序构成基本元素
  12. RecSys Challenge 历年推荐赛题汇总
  13. XML Schema帮你建模
  14. 斯坦福大学最新-机器学习导论
  15. 软件工程之项目开发计划
  16. 数据库存储过程怎么写
  17. Arrays.copyOfRange(T[] original, int from, int to)的使用说明
  18. html手机手势解锁,手机手势图案密码忘了如何解锁?
  19. [CSP-S 2022] 假期计划
  20. 2020年李永乐线性代数强化笔记-特征值、特征向量与二次型

热门文章

  1. EDA硬件描述语言VHDL(一)
  2. 计算机能换显卡吗,联想台式机可以更换显卡
  3. 史上最强七种防蚊药水大比拼!看完你都震惊了!
  4. C# 使用SDL2进行视频播放窗口截图和字幕添加
  5. Easywechat对接
  6. 三相永磁同步电机(PMSM) SVPWM矢量控制 MATLA 仿真算法
  7. 诸葛越:云平台为创业者提供了更多机会
  8. 如何让Android开机不锁屏
  9. MOS管选型参数:VGS(th)
  10. CSS matrix函数