使用Ajax抓取远程网页源代码并抓取其中图片【老司机不须再用】

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


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



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


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


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



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

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

1. Html中:

<label>输入远程网址:</label>
<input type="text" id="url_id" value="请输入网址"  style="color: grey;width:190px;" 
onfocus="whenFoucus(this)" 
onblur="whenLeave(this)" 
>
<button onclick="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盘清空,要开始新的贮备了。



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






猜你喜欢

转载自blog.csdn.net/HelloWorld_In_Java/article/details/72440475
今日推荐