[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理如何获取“言情后花园www.yqhhy.cc”的网页内容

本帖最后由 pcl_test 于 2016-8-15 20:26 编辑

我以前用的页面抓取批处理在这个网页抓取不了。
网址:http://www.yqhhy.cc/54/54335/2868608.html
这类的网页抓下来是空的,请打家帮我看看,谢谢大家!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
初九的冬天

把你以前用的贴出来看看

TOP

抓这个地址试试,这嵌套网页
http://m.yqhhy.cc/54/54335/2868608.html

TOP

用VBS吧,运行等待OK对话框弹出,抓取的内容在a.txt(已经用正则过滤)
  1. Dim objIE, Url, Text
  2. Url = "http://www.yqhhy.cc/54/54335/2868608.html"
  3. Set objIE = CreateObject("InternetExplorer.Application")
  4. objIE.Visible = False
  5. objIE.Navigate Url
  6. Do Until objIE.ReadyState = 4
  7.   WScript.Sleep 200
  8. Loop
  9. Text = objIE.Document.GetElementById("content").InnerText
  10. Set objIE = Nothing
  11. Dim objREG
  12. Set objREG = New RegExp
  13. objREG.Global = True
  14. objREG.IgnoreCase = True
  15. objREG.Pattern = "[\s]+(.*)言情后花园(www.yqhhy.cc),提供精品言情小说阅读![0-9a-z]+"
  16. Text = objREG.Replace(Text, "$1")
  17. Set objREG = Nothing
  18. CreateObject("Scripting.FileSystemObject").OpenTextFile("a.txt",2,True).Write Text
  19. WScript.Echo "ok"
复制代码
1

评分人数

***共同提高***

TOP

本帖最后由 1270697389 于 2013-11-2 12:13 编辑
用VBS吧,运行等待OK对话框弹出,抓取的内容在a.txt(已经用正则过滤)
batman 发表于 2013-11-2 11:07



    嗯,这个vbs不错可以解决问题,再请教一下vbs可不可以按网址列表抓取。
纯批处理的我知道怎么弄,vbs我不会
a.txt

http://www.yqhhy.cc/54/54335/2868607.html
http://www.yqhhy.cc/54/54335/2868608.html
http://www.yqhhy.cc/54/54335/2868609.html
谢谢!
初九的冬天

TOP

回复 5# 1270697389


    请点击4楼右下角的“评分”按钮
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

支持楼主的帖子。!!!!!!!!!!!

TOP

本帖最后由 pcl_test 于 2016-8-21 16:20 编辑
  1. //&cls&cscript -nologo -e:jscript "%~f0"&pause&exit
  2. //编码转换
  3. function BintoStr(strBin,strCharset){
  4.     try{
  5.         var stream = new ActiveXObject('ADODB.Stream')
  6.         stream.Type = 1
  7.         stream.Mode = 3
  8.         stream.Open()
  9.         stream.Write(strBin)
  10.         stream.Position = 0
  11.         stream.Type = 2
  12.         stream.Charset = strCharset
  13.         return stream.ReadText
  14.     }
  15.     catch(e){}
  16. }
  17. //获取网页内容
  18. function getHtmlTxt(url, strCharset){
  19.     try{
  20.         var http = new ActiveXObject('MSXML2.XMLHTTP')
  21.     }
  22.     catch(e){
  23.         var http = new ActiveXObject('WinHttp.WinHttpRequest.5.1')
  24.     }
  25.     http.open('GET', url, false)
  26.     http.send()
  27.     return BintoStr(http.ResponseBody, strCharset);
  28. }
  29. //纯实现,可直接下载http://www.yqhhy.cc/modules/article/packdown12.php?id=54335&type=txt
  30. //章节
  31. var chapter=[2868608,2868609,2868610,2868611,2868612,2868613,2868614,2868615,2868616,2868617,2868618,2868619,2868620,2868621,2868622,2868623,2868624,2868625,2868626,2868627,2868628,2868629,2868630,2868631,2868632,2868633,2868634,2868635,2868636,2868637,2868638,2868639,2868640,2868641,2868642,2868643,2868644,2868645,2868646,2868647,2868648,2868649,2868650,2868651,2868652,2868653,2868654,2868655,2868656,2868657,2868658,2868659,2868660,2868661,2868662,2868663,2869257,2870837,2872851,2872852,2875074,2875340,2879312,2881646,2881647,2884297,2886886,2888072,2888073,2888797,2894304,2894305,2896700,2896701,2898723,2910028];
  32. var fso = new ActiveXObject('Scripting.FileSystemObject');
  33. for(var i=0;i<chapter.length;i++){
  34.     var text = getHtmlTxt('http://www.yqhhy.cc/54/54335/'+chapter[i]+'.html', 'gbk').replace(/&nbsp;/g,' ').replace(/<br \/>|<br\/>|<br>/g,'\r\n');
  35.     var m = text.match(/<h1\s?[^<]*?>[\s\S]+?<\/h1>|<div id=\"content\">[\s\S]+?<\/div>/ig);
  36.     if(m){
  37.         var title = m[0].replace(/<[^<]+>/g,'').replace(/^\s*|\s*$/g,'');
  38.         var content = m[1].replace(/<[^<]+>/g,'').replace(/.*言情后花园(.*www.yqhhy.cc)?.*/ig,'').replace(/(\r?\n)+/g,'\r\n');
  39.     }
  40.     var f=fso.OpenTextFile('结果.txt', 8, true)
  41.     f.Write(title+'\r\n'+content+'\r\n');
  42.     f.Close();
  43.     WSH.echo((i+1)+'、'+title);
  44. }
复制代码

TOP

返回列表