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

[其他] 有无第三方命令行工具可将百度搜索结果中的重定向/跳转链接转换成实际网址?

本帖最后由 pcl_test 于 2016-9-3 19:28 编辑

举例如下:

http://www.baidu.com/link?url=Wu73A5XbmmXbZhGlXCtulGo9VW6nUhnXwxMI4cjO5_j9mVXde7r9LcP5h1GF0qR1&wd=&eqid=8f503133000038ff0000000257c655f0=====>http://www.bathome.net       转换成 网址的命令行工具可有乎?


关键不知 这类的东西的关键字,或相关的工具,所以来求助下!


谢谢了。试了很多 关键字 也未得其法。

问题补充:因为第一轮得到的搜索引擎结果,要活人有针对的过滤下(粘到TXT中)
。。。
接下来要读取,所以最好用命令行工具实现。

本帖最后由 pcl_test 于 2016-9-4 17:15 编辑

回复 22# pcl_test

我改成这样子了,路过的老师帮助我下,谢谢。
只保留一句输出
WSH.echo(''+http.ResponseText.match(/URL='([^']+)'/)[1]+'\r\n'); 这句如何改才能输出c:\1.txt
1

评分人数

TOP

本帖最后由 pcl_test 于 2016-9-4 17:01 编辑

获取百度搜索结果中的链接
  1. //&cls&cscript -nologo -e:jscript "%~f0"&pause&exit
  2. var keyword = 'bbflash 破解版';  //指定搜索关键字
  3. var n=10;  //指定需获取搜索结果的总页数
  4. for(var i=0;i<(n*10);i+=10)GetURL(i, keyword);
  5. function GetURL(page, str){
  6.     var url = 'https://www.baidu.com/s?pn='+page+'&ie=utf-8&wd='+encodeURIComponent(str);
  7.     try{var http = new ActiveXObject('MSXML2.XMLHTTP')}
  8.     catch(e){var http = new ActiveXObject('WinHttp.WinHttpRequest.5.1')}
  9.     http.open('GET', url, false);
  10.     http.send();
  11.     var htmltext = http.ResponseText;
  12.     var reg = new RegExp('<h3\\s?[^<]*?>[\\s\\S]*?<a\\s?[^<]*?(data-click=[^<]+?)?href\\s*?=\\s*?"([^"]+)"[^<]+?>([\\s\\S]+?)<\\/a>', 'ig');
  13.     var result='', m=0, t=page/10+1;
  14.     WSH.echo('-----------------------第'+t+'页搜索结果-----------------------');
  15.     while((result = reg.exec(htmltext)) != null){
  16.         m++;
  17.         WSH.echo(t+'-'+m+'、'+result[3].replace(/<\/?em>/ig, '')+'\r\n百度加密链接:'+result[2]);
  18.         http.open('GET', result[2]+'&wd=', false);
  19.         http.send();
  20.         WSH.echo('原链接:'+http.ResponseText.match(/URL='([^']+)'/)[1]+'\r\n');
  21.     }
  22.     http=null;
  23. }
复制代码
结果如下:
-----------------------第1页搜索结果-----------------------
1-1、BBFlashBack破解版|BB FlashBack Pro(屏幕录像机) v5..._xp系统之家
百度加密链接:http://www.baidu.com/link?url=So ... *N_r58Sw7gQkUF5HOfa
原链接:http://www.xp510.com/xiazai/media/Recording/11348.html

1-2、BB FlashBack Pro下载v5.12.0 汉化破解版_五星级屏幕捕捉和记录...
百度加密链接:http://www.baidu.com/link?url=TE ... oPQggExnkdbOkIukP5P
原链接:http://www.cr173.com/soft/17292.html
……
1

评分人数

TOP

回复 17# 523066680

那如果,我只要
https://www.baidu.com/s?ie=utf-8 ... u&wd=bbflash%20破解版&oq=bbflash%20破解版&rsv_pq=bbfb65b30000572f&rsv_t=a97b52zNwocqQUEwcVGZv9VfGnHAnmsfVWHxKE730OXajWQLS1y5GApJnbo&rqlang=cn&rsv_enter=0
前10页内的 搜索链接,还有批处理有办法实现么?

TOP

HwndEx = Plugin.Window.Search("cmd.exe")
MyArray = Split(HwndEx, "|")
If UBound(MyArray)>=0 Then
    Delay 50
    MessageBox "没运行批处理"
Else
    RunApp "C:\Users\wcc\Desktop\test.cmd"
End if
我终于知道为什么程序,没运行结束就执行下面的操作了,因为cmd.exe始终在进程中
以至于下面的程序
  1. Rem 下一个
  2. 读第1行 = Lib.文件.读取指定行文本内容("C:\Users\wcc\Desktop\要读取的原始链接.txt", 1)
  3. Delay 100
  4. Call Lib.文件.删除指定行文本内容("C:\Users\wcc\Desktop\要读取的原始链接.txt", 1)
  5. Call Plugin.File.DeleteFile("C:\Users\wcc\Desktop\test.cmd")   
  6. MessageBox 读第1行
  7. 批处理 = "mshta http://bathome.net/s/hta " & """web('"&读第1行&"').match(/URL='([^']+)'/)[1]"" " & ">C:\Users\wcc\Desktop\转换后的要读取的.txt"
  8. MessageBox 批处理
  9. Call Plugin.File.WriteFileEx("C:\Users\wcc\Desktop\test.cmd", 批处理)
  10. Delay 1000
  11. RunApp "C:\Users\wcc\Desktop\test.cmd"
  12. /////////////////////
  13. Text = Plugin.File.ReadFileEx("C:\Users\wcc\Desktop\转换后的要读取的.txt")
  14. MessageBox Text
  15. ///////////////////////
  16. Rem 判断是否生成转换后的要读取的文本
  17. IsFile = Plugin.File.IsFileExit("C:\Users\wcc\Desktop\转换后的要读取的.txt")
  18. If IsFile = True Then
  19.     Delay 100
  20.     goto 写入文件
  21. Else
  22.     Delay 100
  23.     Goto 判断是否生成转换后的要读取的文本
  24. End If
  25. Rem 写入文件
  26. Call Plugin.File.WriteFileEx("C:\Users\wcc\Desktop\转换后的要读取的.txt", 内容)
  27. RunApp "F:\PowerPro_4.9n7\配置文件夹\nircmd.exe clipboard addfile C:\Users\wcc\Desktop\转换后的要读取的.txt"
  28. Goto 下一个
复制代码

TOP

回复 17# 523066680


我记的上次我用【火车头采集】时,那个bing的结果
设好后能得到前面几页的链接反馈

TOP

回复 16# codegay
确实只针对谷歌chrome,火狐浏览器才有效。
那个ghost.py不错,可以运行。

TOP

本帖最后由 523066680 于 2016-8-31 23:59 编辑

就是说无论如何都必须在线获取了对吗
perl
  1. use LWP::UserAgent;
  2. my $ua = LWP::UserAgent->new;
  3. my $res;
  4. my $url = "http://www.baidu.com/link?url=Wu73A5XbmmXbZhGlXCtulGo9VW6nUhnXwxMI4cjO5_j9mVXde7r9LcP5h1GF0qR1&wd=";
  5. $res = $ua->get($url) or warn "$!";
  6. $res->content() =~ /\("(.*)"\)/;
  7. print $1;
复制代码
LWP::Simple
  1. use LWP::Simple;
  2. my $content;
  3. my $url = "http://www.baidu.com/link?url=Wu73A5XbmmXbZhGlXCtulGo9VW6nUhnXwxMI4cjO5_j9mVXde7r9LcP5h1GF0qR1&wd=";
  4. $content = get($url) or warn "$!";
  5. $content =~ /\("(.*)"\)/;
  6. print $1;
复制代码

TOP

回复 14# happy886rr


    ghost.py似乎是后台执行的吧,好像不需要浏览器。
selenium 下面的webdriver 之类的功能是利用chrome作为容器执行网页代码的。所以必须要有。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

phantomjs 你也装一下看看。
之前文档上没说要装这个,我也没装,结果我from selenium.webdriver import PhantomJS
也不用了。

http://phantomjs.org/download.html
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 13# codegay
这些模块,安装起来还蛮费劲。一直不成功,cannot find Chrome binary。各种冲突,而且我的是360浏览器,不知支持不?

TOP

回复 11# happy886rr


    同类的工具还有 ghost.py

安装pyqt4
然后pip install ghost.py
https://github.com/jeanphix/Ghost.py
  1. from ghost import Ghost
  2. ghost = Ghost()
  3. with ghost.start() as session:
  4.     page, extra_resources = session.open("http://jeanphix.me")
  5.     assert page.http_status == 200 and 'jeanphix' in page.content
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 11# happy886rr


    python3.4
装个chromedriver
添加到path
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 10# codegay
python3.5运行报错,你用的什么版本的python

TOP

本帖最后由 codegay 于 2016-8-31 17:20 编辑

python 有个selenium库 主要用于web测试
  1. from selenium import webdriver
  2. driver = webdriver.Chrome()
  3. driver.get('https://www.baidu.com/link?url=qjLLUDJLIlOx0TUSg_xpz-Zcjnos1TprMc6_3H0XyXcD0OQD5RSeaPwKMtkzDUC1_G2uXfkzF2bos7uoPclSda&wd=&eqid=be17ee7a0000a04e0000000657c68765')
  4. print (driver.title)
  5. print(driver.current_url)
  6. input("暂停")
  7. driver.quit()
复制代码
输出:
  1. jQuery页面滚动图片等元素动态加载实现 jquery.scrollLoading.js的运用-天云网络
  2. [url]http://www.itiyun.com/jquery-scrollloading-js.html[/url]
复制代码
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

返回列表