aardio 官方社区

用户名  找回密码
 注册会员

QQ登录

只需一步,快速开始

帖子
查看: 9524|回复: 6

怎么匹配网站的友情链接以及对应的锚文字?

[复制链接]

16

主题

70

回帖

661

积分

三级会员

积分
661
QQ
发表于 2012-6-16 16:14:57 | 显示全部楼层 |阅读模式
本帖最后由 lm752213730 于 2012-6-16 16:24 编辑

import inet.whttp;
var whttp = ..inet.whttp();
whttp.setTimeouts (
    99999,//连接超时
    99999,//请求超时
    99999 //接收超时
)

//获取目标页内容
var getUrlHtml=function(url){
    var ok,j=..string.find(url,'@http://');
    if(not ok){
        url='http://'+url;
    }
   
    var html = whttp.get(url);
    var charset="";
    for m in ..string.gmatch(html,'charset\\=\\"{0,2}(.+?)\\"'){
        charset=m;
        break ;
        }
    if(..string.lower(charset)=="utf-8"){
        //..console.log(charset)
            html=..string.fromto(html);
        }   

    return html;
}
//查询所有的友情链接以及对应的锚文字
checkAizhan=function(url){
    var links={};
    var linkTitle={};
var html=getUrlHtml("www.danxi120.com");
    for m,n in ..string.gmatch(html,'id="linkhref'+"\d+"+'" target\\=\\"\\_blank"\\>(.+?)\\<br \\/\\>(.+?)\\<\\/a\\>\\<\\/div\\>\\<\\/td\\>'){
    ..table.push(links,n);
    ..table.push(linkTitle,m);
    }
    return links,linkTitle;
}

//查询外链对应的锚文字
checkSlTitle=function(url/*对方的url*/,domain/*我的域名*/){
var html=getUrlHtml(url);
    for m in ..string.gmatch(html,'\\<a href\\=\\"http\\:\\/\\/www(.+?)\\<\\/a\\>'){
        ..console.log(m)   
        }
    return "不存在";
}
o.open()
console.log(checkSlTitle("www.csyc120.com","danxi120.com"));
console.pause()


说明:类似
<a href='http://www.danxi120.com/' target='_blank'>子宫肌瘤是怎么引起的</a>
我要拿到这个里面对应网址的文字,也就是友情链接的锚文字(前面必须是以    <a href='http://  开头),问题是有的链接是单引号,有的是双引号,有的还有其他参数。

求哪个高手给帮下忙。

9

主题

193

回帖

1297

积分

四级会员

积分
1297
发表于 2012-6-16 18:29:42 | 显示全部楼层
import config;
import web.form;
/*DSG{{*/
mainForm = ..win.form( bottom=400;scroll=1;text="aardio Form";right=600;parent=...)
mainForm.add(  )
/*}}*/

//创建web窗体
mainWb = web.form( mainForm
        ,//可输入_UIFLAG_ 前缀的常量自定义外观
        ,//可输入_DLCTL_ 前缀的常量以控制下载行为
        ,//"USER AGENT"
        );

//打开目标网站
mainWb.go("http://www.danxi120.com/")
mainForm.show(); //显示窗体
mainWb.wait("");//等待指定网址,可以使用模式匹配语法


mainWb.write(mainWb.getEle("flin_lin").outerHTML)

import console
for i,a in mainWb.eachAll("a") {
console.log(a.href,a.innertext)
       
}

//进入消息循环
win.loopMessage();

16

主题

70

回帖

661

积分

三级会员

积分
661
QQ
 楼主| 发表于 2012-6-18 09:24:04 | 显示全部楼层
coder 发表于 2012-6-16 18:29
import config;
import web.form;
/*DSG{{*/

谢谢,虽然功能实现了,但是我看不懂这是什么意思。

16

主题

70

回帖

661

积分

三级会员

积分
661
QQ
 楼主| 发表于 2012-6-18 09:33:27 | 显示全部楼层
coder 发表于 2012-6-16 18:29
import config;
import web.form;
/*DSG{{*/

追问下,怎么阻止弹出广告窗体呢。我查询了www.qq.com,弹出广告窗体。

9

主题

193

回帖

1297

积分

四级会员

积分
1297
发表于 2012-6-18 22:29:32 | 显示全部楼层
lm752213730 发表于 2012-6-18 09:33
追问下,怎么阻止弹出广告窗体呢。我查询了www.qq.com,弹出广告窗体。

在论坛搜索 弹窗 二字

0

主题

8

回帖

54

积分

一级会员

积分
54
发表于 2016-9-16 21:04:42 | 显示全部楼层
学习学习

0

主题

15

回帖

114

积分

一级会员

积分
114
发表于 2016-12-4 23:52:52 | 显示全部楼层
学习了,又有了点进步
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2025-6-8 10:23 , Processed in 0.061700 second(s), 23 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

快速回复 返回顶部 返回列表