使用原生Ajax跨域抓取远程网页源代码并抓取其中图片

最新修改:有人反馈说用不了的。估计是使用方式不对。按照下图的步骤使用即可。

即 1.复制网页路径 -> 2.用IE打开文件(运行使用控件) -> 3.粘贴路径获取源码 -> 4.获取IMG下载地址

(刚使用的gif图制作工具,分享一波:gif图制作小工具)

以下是原文:


正文之前先扯点其它的。话说我有一个表弟,年方二八,属于外表实在,内心闷骚的那种类型,与我极为聊得来。不时会给我科普各种他收集而来的各种有趣的表情包,也不时给我发来一些福利图或小视频【不可描述】。对此我们也有属于老司机间嘿嘿嘿的默契。某天他偶然登录到一网站,看到满屏幕喜欢的图片,当即给我说了这个事情,当得知他在一张张的另存为(法1)时,我就想这傻小子也是够单纯的,居然舍得花如此时间做这种事情。又看这小子学习热情比较浓,遂决定帮他一把,叫他把网址发给我后,几分钟后,我便帮他拿到了他所需的所有图片。小伙子顿时对我大为惊叹,大呼666。 嘿嘿,其实他不知道他表哥也就会那么一点而已了。

法1:傻表弟将网页中的每张图片另存为

法2:使用工具简单粗暴的获取所有图片连接

===============================================分割线===================================================

好啦,正文开始。这个获取网站源代码的工具很简单,只需要直接打开一个html页面即可(右键->打开方式->选择IE浏览器)

完整的HTML文件下载地址:http://download.youkuaiyun.com/detail/helloworld_in_java/9845154

下面简单贴一下这个工具的核心代码部分 :

1. Html中:

<label>输入远程网址:</label>
<input type="text" id="url_id" value="请输入网址"  style="color: grey;width:190px;" 
οnfοcus="whenFoucus(this)" 
οnblur="whenLeave(this)" 
>
<button οnclick="getUrlByInput()">获取源码</button>

2.JS中:

function getUrlByInput(){
showMessage("showMessage_link");
var url = document.getElementById('url_id').value ;
document.getElementById("textArea_id").value = "\r\n-------------正在加载----------------\r\n";
createXmlHttp();
xmlHttp.onreadystatechange = writeAjaxHtml;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}

function createXmlHttp() {
//根据window.XMLHttpRequest对象是否存在使用不同的创建方式
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();                  //FireFox、Opera等浏览器支持的创建方式
} else {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览器支持的创建方式
}
}

function writeAjaxHtml() {
if (xmlHttp.readyState == 4) {
document.getElementById("textArea_id").value = document.getElementById("textArea_id").value + xmlHttp.responseText;
}
}

function getAll_IMG(){
var allStr = document.getElementById("textArea_id").value;
var reg_img = /http(.*?)(jpg|png)/g;
var result = allStr.match(reg_img);
var show_Str = "";
for(var i = 0;i<result.length; i++){
var temp_img = result[i];
show_Str = show_Str +  temp_img + "\r\n";
}
document.getElementById("textArea_id").value = show_Str ;
}

PS:以上所示的工具只是获取了当前输入框中的一个网页的代码,然后抓取其中的图片地址,将图片地址复制到迅雷等下载工具中下载即可。

改进后可以抓取某个页码范围内的所有网页的代码,然后可以获取这些网页中的任意元素,如视频,图片,文字等等。老司机们好像想到了什么。

好啦,表弟说已经把D盘清空,要开始新的贮备了。

再次祝各位看官们身体棒棒,越战越勇。


 

#插入一波: 基于chrome去除优快云页面中的广告和博客右侧的推荐内容

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值