使用wget工具抓取网页和图片 及 相关工具几个

news/2024/7/19 10:09:01 标签: shell, 爬虫, ruby

想保存一些网页,最后找到这 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/')

还有很多,


转载于:https://www.cnblogs.com/yisuo/p/6783982.html


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

相关文章

R 安装包

2019独角兽企业重金招聘Python工程师标准>>> 1 R 安装本地包 R CMD INSTALL RSkittleBrewer-master.tar.gz 2 安装github R包 library(devtools) install_github(alyssafrazee/RSkittleBrewer) devtools::install_github(alyssafrazee/RSkittleBrewer) 只要记得包名…

char型指针偏移量_C语言指针学习收获第一阶段

收获一&#xff1a;指针的定义与使用1.指针的含义是什么&#xff1f;指针的长度是什么&#xff1f;指针是一个变量&#xff0c;存放的是指向数据的地址&#xff0c;不同的数据类型具有不同的宽度。在X86系统中指针占4个字节宽度&#xff0c;在X64系统中指针占8个字节宽。2.假如…

分类技术

分类技术 1、概述 互联网使得信息的传播速度以及规模达到了空前的水平。“信息爆炸”已成为人们必须面对的问题。从数据海洋中迅速准确的获取所需要的信息变得非常困难。 当前的知识信息主要以文本作为载体&#xff0c;大部分文本信息以非结构化或半结构化的形式存在&#xff0…

#ifdef、#ifndef、#else、#endif执行条件编译

我们开发的程序不只在pc端运行&#xff0c;也要在移动端运行。这时程序就要根据机器的环境来执行选择性的编译&#xff0c;如对PC端编译PC端的程序&#xff0c;对移动端编译移动端的程序&#xff0c;这里我们就可以用两组条件编译。#ifdef #endif#ifndef #endif我们先来了解下…

解决AnimationClip.SetCurve RectTransform Color参数 出现Missing!的情况

搬迁原来博客海澜CSDN 在项目开发中有需求动态创建Animationclip设置其中的AnimationCure曲线&#xff0c;但是其中按照官方给出的示例方式设置一些参数的时候会出现Missing丢失的情况 经过查找一些资料发现这根他的命名方式可能有关系,如下 这种命名方式第一个字母会自动大写…

js多方框输入密码_js仿支付宝多方框输入支付密码效果

上次看到别人说写一个类似支付宝支付密码的输入框效果&#xff0c;今天就想自己写了试试看&#xff0c;大体功能是实现了。已实现部分&#xff1a;1. 焦点会随着输入数值往后推移2. 如果输入的非0-9&#xff0c;则会出现提示3. 按Backspance回车可以对应格子焦点往前推移4. 按回…

sharepoint list 设置中column没有排序选项

问题&#xff1a;用户在在设置list的时候&#xff0c;发现column ordering不見了&#xff0c;无法进行排序设置.解决&#xff1a;该list可以在在Content Types中可以调整colum ordering转载于:https://blog.51cto.com/pclzr/1908831

Docker 更改镜像存储位置

在使用 Docker 的过程中&#xff0c;如果我们一切都以默认的设置进行操作的话&#xff0c;在使用一段时间之后你应该会发现系统的根目录空间越来越少&#xff0c;直到有一天发现空间都被占满了&#xff0c;最后发现原来是被 Docker 占用了。所以这个时候就需要处理这个蛋疼的问…