利用wget 抓取 网站网页 包括css背景图片
wget是一款非常优秀的http/ftp下载工具,它功能强大,而且几乎所有的unix系统上都有。不过用它来dump比较现代的网站会有一个问题:不支持css文件,它不会自动下载、重新链接css中所指定的图片。这个问题导致的最常见的后果是dump下来的网站看不到背景图片。本文所介绍的这个脚本主要就是用来解决这个缺陷的。
这里简要介绍一下这个脚本的细节:
第3行用于设置要下载的网站的地址。
第10行用于将文件名转换为windows兼容的格式。windows对文件名格式的要求比unix更为苛刻一点,这里指定为windows也可以兼容unix系统。总的来说,wget的这个功能稍微弱了一点,面对一些更苛刻的系统就没有办法了。
第13行用于忽略robots.txt。很多网站的css、js文件都是在robots.txt中被定义为spider不可访问的。
第15、16行用于忽略某些目录和文件。因为没有了robots.txt的限制,wget可能会去访问一些不需要的东西。这里可以根据具体情况做限制。
第19~24行下载css中链接的文件。
第26~29行修正css中的链接。
以下是这个脚本的内容
#!/bin/sh
ADDR="http://www.EXAMPLE.com/"
SERVER=${ADDR#http://}
SERVER=${SERVER%%/*}
wget /
--html-extension /
--restrict-file-names=windows /
--convert-links /
--page-requisites /
--execute robots=off /
--mirror /
--exclude-directories /comment/reply/,/aggregator/,/user/ /
--reject "aggregator*" /
"$ADDR"
find $SERVER -type f -name "*.css" -exec cat {} /; |
grep -o 'url(/[^)]*)' |
sort |
uniq |
sed 's/^url(/(.*/))$/http:'$SERVER'/1/' |
wget --mirror --page-requisites -i -
for i in `find $SERVER -type f -name "*.css"`; do
PREFIX="$(echo $i | sed 's/[^//]*//g; s///$//; s../g')"
sed -i 's/url(///url('$PREFIX'/g' $i
done
转载于:https://www.cnblogs.com/yisuo/p/9246886.html
利用wget 抓取 网站网页 包括css背景图片相关推荐
- python抓取网站图片_利用python抓取网站图片
看了网上关于python抓取网站图片的例子,所以自己也尝试着写一个,但是发现这个网站的src不是标准的路径,需要自己添加前面的目录地址,尝试了几次也不成功,所以希望有经验的朋友指导下. 本人是初学者, ...
- 抓取网站网页信息中的TD信息
python 抓取某网站网页信息中的TD信息 通过用户名和密码直接登录到网站,然后下载相应的表格信息:或者直接抓取HTML页面中的table下tr的相关内容 引入代码中需要的相关库或者类 import ...
- java抓取并保存图片_利用JAVA抓取网站的所有图片并保存于本地
由于今天我要保存一个网页上的所有图片并做一个ppt,但是这个网页比较蛋疼,是微信上的一个类似于动画的东西,所以没法保存整个网页然后直接取照片, 所以我采用java写了一个程序,采用类似于网络爬虫的思路 ...
- wget抓取网站, 模拟手机端抓取
nohup wget --mirror -p --tries=100 --convert-links -P . –user-agent="Mozilla/5.0 (iPad; U; CPU ...
- python网站数据写入mysql_python网络爬虫抓取动态网页并将数据存入数据库MySQL
简述 以下的代码是使用python实现的网络爬虫,抓取动态网页 http://hb.qq.com/baoliao/ .此网页中的最新.精华下面的内容是由JavaScript动态生成的.审查网页元素与网 ...
- matlab抓取网页信息,如何利用Matlab抓取网页数据
如何利用Matlab抓取网页数据 2019-01-01 %朋友需要做金融方面的分析,要求从网站上下载大量的数据,一个一个复制粘贴太费事.我写了一个简单的网络爬虫,主要用到正则表达式,可以自动下载网页源 ...
- 系统检测到您正在使用网页抓取工具访问_造成Baiduspider(百度蜘蛛)抓取网站异常的原因有哪些...
造成Baiduspider(百度蜘蛛)抓取网站异常的原因有哪些 有一些网页,内容优质,用户也可以正常访问,但是Baiduspider却无法正常访问并抓取,造成搜索结果覆盖率缺失,对百度搜索引擎对站点都 ...
- 利用python抓取网页各种类型内容(静态、动态)
声明: 本实验的操作系统是ubuntu,python 2.X Code-1:抓取静态的title数据(无需登录用户) 获取淘宝主页的页面静态数据 url:http://www.taoba ...
- 利用Crowbar抓取网页异步加载的内容 [Python俱乐部]
利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 [Python俱乐部] 利用Crowbar抓取网页异步加载的内容 在做 Web 信息提取.数 ...
最新文章
- python 解析xml
- php上传文件 不移动,move_uploaded_file()为什么无法移动上传的文件?
- SCCM2012 R2实战系列之九:OSD(中)-- 捕获镜像
- NET问答: 如何检查一个 string 是否为有效的 url 格式?
- vue3.x全局toast、message、loading组件
- datagridview设置某一行选中_机关公文格式设置规范(最新版)
- 游戏需求,猎豹启发!揭秘华为Mate 20 X石墨烯膜散热方案出台始末
- 自动驾驶 5-3 前馈速度控制 Feedforward Speed Control
- MTk2503,使用移动物联网卡上线慢问题
- 金融系列-支付清结算之基本概念和入门
- Sampling Hair Density Field by Deterministic Importance Sampling
- imitate wechat - 3
- 书籍推荐:国内第一本ASP.NET 3.5 MVC技术专著
- Unity 年度总结:一款游戏的从0到1
- 数据可视化之小提琴图(原理+Python代码)
- 为何电动汽车没未来感?设计和生产线无根本性改变 | 行业
- CodeForces - 1324D Pair of Topics(二分或双指针)
- vue尚品汇商城项目-day00【项目介绍:此项目是基于vue2的前台电商项目和后台管理系统】
- [渝粤题库]西北工业大学材料力学(更新)
- react-sortablejs 实现自定义表单设计