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. MongoDB的备份(mongodump)与恢复(mongorestore)
  2. firefox html5 canvas,html5 Canvas
  3. FPGA中有限状态机的状态编码采用格雷码还是独热码?
  4. python中的format什么意思中文-python的format什么意思
  5. MATLAB中设置figure的边框
  6. linux下前一天时间格式
  7. vue中checkbox 样式自定义重写;循环遍历checkbox,拿到不同的v-model绑定值;及获取当前checked 状态,全选和全不选等功能。...
  8. [leetcode]203. Remove Linked List Elements链表中删除节点
  9. 使用域名访问后台页面
  10. 计算机机房用户不规则行为,网络及网管机房管理理论练习
  11. IntelliJ IDEA for Mac中的Maven操作窗口详解
  12. 前端date format_前端面试-手撕代码篇
  13. c++vector(入门级)
  14. Julia的Dates库是重要和必要的补充!
  15. TCPMP之旅(一) TCPMP整体软体框架
  16. 小议ARM Cortex-m0/m4系列的总线差异
  17. 一个可以免费下载英文书籍的网站
  18. 计算机隐藏图标和通知,win10系统通知区域图标、电脑右下角图标显示和隐藏设置的解决方案...
  19. 专科计算机专业取消,教育部公布已撤销了这些大学专业!有你的专业吗
  20. [FUNC]ObjRegisterActive

热门文章

  1. 怎么清理IE浏览器缓存
  2. C语言——读取串口数据,并处理
  3. 芒果TV“一云多屏”的统一架构图景
  4. 【并行算法】并行算法的初步认识
  5. 【51单片机】智能地磅控制系统设计
  6. 34所985计算机考研难度,考研:34所自主划线985大学考研难度也分为5个档次!你考的第几档...
  7. 运算符优先级,对象深拷贝
  8. 文献综述写作指导(1)——研究方向的确定与领域内研究点的梳理
  9. java项目总结范文_java工程师年终总结及明年计划范文
  10. openssh移植 for pycharm 远程调试 sftp