Board logo

标题: [已解决]依表提取表内所有网页的链接 [打印本页]

作者: hlzj88    时间: 2017-9-1 22:57     标题: [已解决]依表提取表内所有网页的链接

首先请参见  http://www.bathome.net/thread-44783-1-8.html 。当我修改为依表批量提取时,不仅慢,还有的提取不到链接。因此在此麻烦你了。
win7
依据先好先得原则。。谢谢。表在附件里



附件留下,有兴趣的坛友不妨试试看看。
作者: hlzj88    时间: 2017-9-1 23:03

回复里请留下微信号。我好找你。
作者: hlzj88    时间: 2017-9-2 23:10

经过一天努力,终于自己能用三种链接方式得到绝大部分含链接的文件。但是问题来了,里面的内容没有汉字,愁死个人。
咋就这么难呢。
点击这里,希望你能帮助一下。

本贴结贴。
作者: happy886rr    时间: 2017-9-2 23:38

本帖最后由 happy886rr 于 2017-9-3 09:15 编辑

回复 3# hlzj88
  1. 1>1/* :
  2. @echo off
  3. REM 开启变量延迟
  4. setlocal enabledelayedexpansion
  5. REM 设置头条网址
  6. set "URL=http://www.toutiao.com/"
  7. REM 遍历文件源,提取每个头条ID
  8. for /f "tokens=1,2 delims=|" %%i in (4.txt) do (
  9. set/a "i+=1"
  10. set "LIST[!i!]=%%i#%%j.html"
  11. )
  12. REM 获取列表长度
  13. set "LIST_SIZE=!i!"
  14. REM 已下载计数
  15. set "ALREADY_GET=0"
  16. REM 主体循环
  17. :LOOP
  18. REM 遍历列表数组
  19. for /l %%N in (1,1,!LIST_SIZE!) do (
  20. if not "!LIST[%%N]!"=="" (
  21. for /f "tokens=1,2 delims=#" %%i in ("!LIST[%%N]!") do (
  22. echo GET[!ALREADY_GET!/!LIST_SIZE!]: "%%j"
  23. if not exist ".\%%j" (
  24. cscript -nologo -e:jscript "%~f0" "%URL%" "%%i" "%%j"
  25. )
  26. if exist ".\%%j" (
  27. set/a "ALREADY_GET+=1"
  28. set "LIST[%%N]="
  29. echo OK.
  30. )
  31. )
  32. )
  33. )
  34. REM 执行完毕
  35. if !ALREADY_GET! equ !LIST_SIZE! (
  36. set/p =END.
  37. exit/b
  38. )
  39. goto :LOOP
  40. */
  41. //////////////////////////////////////////////////////////////
  42. function GetTTList(hostURL)
  43. {
  44. var xmlHTTP = new ActiveXObject('Msxml2.XMLHTTP');
  45. xmlHTTP.open('GET', hostURL, false);
  46. xmlHTTP.send();
  47. respJson=xmlHTTP.responseText;
  48. if(respJson)
  49. {
  50. var fso = new ActiveXObject('Scripting.FileSystemObject');
  51. var f = fso.openTextFile(WScript.arguments(2), 2, true);
  52. var parseData = (eval('('+respJson+')'))['data'];
  53. if(parseData.length > 0)
  54. {
  55. for(var i=0; i<parseData.length; i++)
  56. {
  57. f.writeLine('<a href="' + WScript.arguments(0) + parseData[i]['source_url'] + '" target="_blank">' + '[' + eval('i+1') + '].' + parseData[i]['title'] + '</a>' + '<br>');
  58. }
  59. }else{
  60. f.writeLine('<b>Not found any articles!</b>');
  61. }
  62. f.close();
  63. }
  64. }
  65. var hostURL = WScript.arguments(0) + '/c/user/article/?page_type=1&user_id=' + WScript.arguments(1) + '&max_behot_time=0&count=256';
  66. GetTTList(hostURL);
  67. //////////////////////////////////////////////////////////////
复制代码

作者: hlzj88    时间: 2017-9-3 07:14

本帖最后由 hlzj88 于 2017-9-3 10:49 编辑

回复 4# happy886rr

看到你发帖时间,很晚的,谢谢。

你的代码经使用,能够成功下载所有的链接。非常感谢。




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2