使用wget工具抓取网页和图片 及 相关工具几个
想保存一些网页,最后找到这 wget 的 shell脚本,虽然不是太理想,亲测可用呢。
使用wget工具抓取网页和图片 来源 https://my.oschina.net/freestyletime/blog/356985
#!/bin/sh
URL="$2"
PATH="$1"
echo "download url: $URL"
echo "download dir: $PATH"
/usr/bin/wget -e robots=off -w 1 -xq -np -nH -pk -m -t 1 -P "$PATH" "$URL"
echo "success to download"
脚本的使用方法 ./wget_cc ./download http://www.baidu.com
需要注意的是,我的wget是在/usr/bin目录下(这里必须写全路径),你可以使用which wget这个命令确定你的wget路径所在,然后替换到脚本中就行了。
这里多加了几个参数,解释一下:
-e 用法是‘-e command’
用来执行额外的.wgetrc命令。就像vim的配置存在.vimrc文件中一样,wget也用.wgetrc文件来存放它的配置。也就是说在wget执行之前,会先执行.wgetrc文件中的配置命令。一个典型的.wgetrc文件可以参考:
http://www.gnu.org/software/wget/manual/html_node/Sample-Wgetrc.html
http://www.gnu.org/software/wget/manual/html_node/Wgetrc-Commands.html
用户可以在不改写.wgetrc文件的情况下,用-e选项指定额外的配置命令。如果想要制定多个配置命令,-e command1 -e command2 ... -e commandN即可。这些制定的配置命令,会在.wgetrc中所有命令之后执行,因此会覆盖.wgetrc中相同的配置项。
这里robots=off是因为wget默认会根据网站的robots.txt进行操作,如果robots.txt里是User-agent: * Disallow: /的话,wget是做不了镜像或者下载目录的。
这就是前面为什么下载不了图片和其他资源的原因所在了,因为你要爬的HOST禁止蜘蛛去爬它,而wget使用 -e robots=off 这个选项可以通过这个命令绕过这个限制。
-x 创建镜像网站对应的目录结构
-q 静默下载,即不显示下载信息,你如果想知道wget当前在下载什么资源的话,可以去掉这个选项
-m 它会打开镜像相关的选项,比如无限深度的子目录递归下载。
-t times 某个资源下载失败后的重试下载次数
-w seconds 资源请求下载之间的等待时间(减轻服务器的压力)
剩下有不懂的你就去挖文档吧。
写好后保存退出,执行:
chmod 744 wget_cc
OK,这样脚本就能直接执行,而不用在每条命令前带 /bin/sh 让sh去解释它了。
下面就让脚本执行起来吧!
./wget_cc ./download http://www.baidu.com
下载完成后的目录结构
OK,然后再查看<img>标签中的src属性,
src="img/bd_logo1.png"
果然换成了相对路径啊,大功告成,觉得对您有帮助的请点个赞吧!
========================= 华丽的分割线之后 =================================
信息收集之网站镜像克隆 资料来源 http://www.sqlsec.com/2016/web.html
使用HTTrack复制克隆网站
介绍
HTTrack是一款免费的离线浏览器工具,和wget克隆复制镜像差不多,从服务器抓取HTML文件、图片、以及其他css文件并存储到你的计算机上。Kali 2.0起默认预装了 HTTrack。
使用方法
终端下输入:
httrack
如果没有安装这个工具的话,那就现场安装一下吧,只需要2个命令:
apt-get update
apt-get install httrack
这里提示要输入项目名称、存放网站的路径(默认为 /root/website) 和要克隆的目标站 我们这里以 搜狗浏览器官网为例
我们自定义输入test 然后 按下 回车
sougou
然后默认路径 回车
```
输入想要克隆的网站
http://ie.sougou.com
`` 下面HTTrack提供了一些选项,我们一般选择第二本选项Mirror Web Site(s) with Wizard(具有向导递归层级的镜像网站) 输入:2`
回车 回车 回车 后面的一些基本设置 一般一直回车下去 直到网站开始克隆为止,HTTrack 就开始进行网站克隆了。
========================= 华丽的分割线之后 =================================
ruby 爬虫 Spidr 用法 资料来源 https://my.oschina.net/u/572987/blog/89734
从一个网址开始爬: Spidr.start_at('http://tenderlovemaking.com/')
还有很多,
使用wget工具抓取网页和图片 及 相关工具几个的更多相关文章
- 使用wget工具抓取网页和图片 成功尝试
使用wget工具抓取网页和图片 发表于1年前(2014-12-17 11:29) 阅读(2471) | 评论(14) 85人收藏此文章, 我要收藏 赞7 wget 网页抓取 图片抓取 目录[-] ...
- python抓取网页中图片并保存到本地
#-*-coding:utf-8-*- import os import uuid import urllib2 import cookielib '''获取文件后缀名''' def get_file ...
- 抓取网页图片的脚本(javascript)
抓取网页图片的脚本(javascript) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24172223 脚本内容 (没有换行) ...
- C语言调用curl库抓取网页图片
思路是先用curl抓取网页源码,然后以关键字寻找出图片网址. #include <stdio.h> #include <stdlib.h> #include <str ...
- C语言调用curl库抓取网页图片(转)
思路是先用curl抓取网页源码,然后以关键字寻找出图片网址. 范例: #include <stdio.h> #include <stdlib.h> #include < ...
- Python抓取网页中的图片到本地
今天在网上找了个从网页中通过图片URL,抓取图片并保存到本地的例子: #!/usr/bin/env python # -*- coding:utf- -*- # Author: xixihuang # ...
- python抓取网页图片
本人比较喜欢海贼王漫画,所以特意选择了网站http://www.mmonly.cc/ktmh/hzw/list_34_2.html来抓取海贼王的图片. 因为是刚刚学习python,代码写的不好,不要喷 ...
- Python3简单爬虫抓取网页图片
现在网上有很多python2写的爬虫抓取网页图片的实例,但不适用新手(新手都使用python3环境,不兼容python2), 所以我用Python3的语法写了一个简单抓取网页图片的实例,希望能够帮助到 ...
- Java 抓取网页中的内容【持续更新】
背景:前几天复习Java的时候看到URL类,当时就想写个小程序试试,迫于考试没有动手,今天写了下,感觉还不错 内容1. 抓取网页中的URL 知识点:Java URL+ 正则表达式 import jav ...
随机推荐
- HTTP状态码以及其含义大全 _IT技术小趣屋
原文:HTTP状态码以及其含义大全 _IT技术小趣屋 HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码.我们在开发过程中比较常见的状态码 ...
- UVALive 5790 Ball Stacking DP
DP的方向真的很重要,这题做的时候死活想不出来,看了题解以后恍然大悟原来这么简单. 题意: 有n层堆成金字塔状的球,若你要选一个球,你必须把它上面那两个球取了,当然也可以一个不取.求选的球最大的权值和 ...
- CRC校验的C语言实现
文章转自 循环冗余校验(CRC)算法入门引导 - Ivan 的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/liyuanbhu/article/details/7 ...
- vs2010和qt4.8.4配置
最近项目要求在vs中开发qt程序,安装过后发现代码每天提示功能.由于本人记忆力有限,特在网上收罗了些配置方法. vs安装目录采用默认,qt安装目录:C:\Qt\4.8.4vs 在系统环境变量新建QTD ...
- BestCoder Round #11 (Div. 2)
太菜,仅仅能去Div2.(都做不完 ORZ... 各自是 HDU: 5054pid=5054"> Alice and Bob 5055Bob and math problem 5056 ...
- File的getPath()和getAbsolutePath()和getCanonicalPath()的差别
这几个方法是有一次无意的发现,我当时也不知道什么意思,就百度了,查到了一些列子: 原文地址http://www.blogjava.net/dreamstone/archive/2007/08/08/1 ...
- 网易2016研发project师笔试题
网易2016研发project师笔试题 2015/12/9 11:25(网上收集整理的,參考答案在后面,若有错误请大神指出) 1. 运行指令find / -name "test.c" ...
- python in操作引发 TypeError
在看 networkx 源代码的时候认为疑惑.为什么外层 for 要注意 TypeError.里面就不用.相同是 in, 一直纠结 node 是不是有问题,比方 node 不能够被迭代什么的,那么里面 ...
- 彻底解决lazarus安装组件后烦人的编译时单元找不到的问题!
以安装indy为例 1/下载组件包, http://www.indyproject.org/Sockets/fpc/indy-10.2.0.3.zip 2/爆开放于C:\lazarus\compone ...
- Visual Code中的智能提示
https://code.visualstudio.com/docs/editor/intellisense C# https://marketplace.visualstudio.com/items ...