本帖最后由 pcl_test 于 2015-11-12 12:52 编辑
- //&cls&cscript -nologo -e:jscript "%~f0"<"url列表.txt"&pause&exit /b
-
- function BintoStr(strBin,strCharset){
- var stream = new ActiveXObject('ADODB.Stream')
- stream.Type = 1
- stream.Mode = 3
- stream.Open()
- stream.Write(strBin)
- stream.Position = 0
- stream.Type = 2
- stream.Charset = strCharset
- return stream.ReadText
- }
-
- function getHtmlTxt(strURL){
- var http = new ActiveXObject('Msxml2.XMLHTTP');
- try{
- http.open('GET', strURL, false);
- http.send();
- var m = http.GetResponseHeader('Content-Type').match(/charset\s?=\s?([^\s;]+)/i);
- if (m){
- var contenttype = m[0].replace(/charset\s?=\s?/,'');
- var HtmlText = BintoStr(http.ResponseBody,contenttype);
- return HtmlText;
- }
- else{
- var m = http.ResponseText.match(/<\s?meta.+?charset\s?=\s?[^\s\"]+/i);
- if (m){
- var contenttype = m[0].replace(/.+?charset\s?=\s?/,'');
- var HtmlText = BintoStr(http.ResponseBody,contenttype);
- return HtmlText;
- }
- else return http.ResponseText;
- }
- }catch (e){}
- }
-
- //var fso = new ActiveXObject('Scripting.Filesystemobject');
- var url = WScript.StdIn.ReadAll().split(/\s/);
- var s = '';
- for (var i=0; i<url.length; i++)
- {
- var txt = getHtmlTxt(url[i]);
- if (!txt)
- s += url[i]+'\r\n拒绝访问\r\n\r\n';
- else{
- var title = /<title>([^<]+)<\/title>/i.exec(txt);
- var description = txt.match(/<\s?meta[^>]+?description[^>]*?>/i);
- if (title)
- var titlestr = title[1];
- else var titlestr = 'not found';
- if (description)
- var descriptionstr = description[0].replace(/.+?content\s?=\s?"([^"]+)".+/i, '$1');
- else var descriptionstr = 'not found';
- s += url[i]+'\r\ntitle:'+titlestr+'\r\ndescription:'+descriptionstr+'\r\n\r\n';
- }
- }
- WSH.echo(s);
复制代码
|