返回列表 发帖
回复 14# happy886rr


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

TOP

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

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

TOP

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

TOP

回复 17# 523066680


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

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始终在进程中
以至于下面的程序
Rem 下一个
读第1行 = Lib.文件.读取指定行文本内容("C:\Users\wcc\Desktop\要读取的原始链接.txt", 1)
Delay 100
Call Lib.文件.删除指定行文本内容("C:\Users\wcc\Desktop\要读取的原始链接.txt", 1)
Call Plugin.File.DeleteFile("C:\Users\wcc\Desktop\test.cmd")   
MessageBox 读第1
批处理 = "mshta http://bathome.net/s/hta " & """web('"&读第1行&"').match(/URL='([^']+)'/)[1]"" " & ">C:\Users\wcc\Desktop\转换后的要读取的.txt"
MessageBox 批处理
Call Plugin.File.WriteFileEx("C:\Users\wcc\Desktop\test.cmd", 批处理)
Delay 1000
RunApp "C:\Users\wcc\Desktop\test.cmd"
/////////////////////
Text = Plugin.File.ReadFileEx("C:\Users\wcc\Desktop\转换后的要读取的.txt")
MessageBox Text
///////////////////////
Rem 判断是否生成转换后的要读取的文本
IsFile = Plugin.File.IsFileExit("C:\Users\wcc\Desktop\转换后的要读取的.txt")
If IsFile = True Then
    Delay 100
    goto 写入文件
Else
    Delay 100
    Goto 判断是否生成转换后的要读取的文本
End If
Rem 写入文件
Call Plugin.File.WriteFileEx("C:\Users\wcc\Desktop\转换后的要读取的.txt", 内容)
RunApp "F:\PowerPro_4.9n7\配置文件夹\nircmd.exe clipboard addfile C:\Users\wcc\Desktop\转换后的要读取的.txt"
Goto 下一个COPY

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

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

获取百度搜索结果中的链接
//&cls&cscript -nologo -e:jscript "%~f0"&pause&exit
var keyword = 'bbflash 破解版';  //指定搜索关键字
var n=10;  //指定需获取搜索结果的总页数
for(var i=0;i<(n*10);i+=10)GetURL(i, keyword);
function GetURL(page, str){
    var url = 'https://www.baidu.com/s?pn='+page+'&ie=utf-8&wd='+encodeURIComponent(str);
    try{var http = new ActiveXObject('MSXML2.XMLHTTP')}
    catch(e){var http = new ActiveXObject('WinHttp.WinHttpRequest.5.1')}
    http.open('GET', url, false);
    http.send();
    var htmltext = http.ResponseText;
    var reg = new RegExp('<h3\\s?[^<]*?>[\\s\\S]*?<a\\s?[^<]*?(data-click=[^<]+?)?href\\s*?=\\s*?"([^"]+)"[^<]+?>([\\s\\S]+?)<\\/a>', 'ig');
    var result='', m=0, t=page/10+1;
    WSH.echo('-----------------------第'+t+'页搜索结果-----------------------');
    while((result = reg.exec(htmltext)) != null){
        m++;
        WSH.echo(t+'-'+m+'、'+result[3].replace(/<\/?em>/ig, '')+'\r\n百度加密链接:'+result[2]);
        http.open('GET', result[2]+'&wd=', false);
        http.send();
        WSH.echo('原链接:'+http.ResponseText.match(/URL='([^']+)'/)[1]+'\r\n');
    }
    http=null;
}COPY
结果如下:
-----------------------第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

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

回复 22# pcl_test

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

评分人数

TOP

返回列表