河北seo,沧州seo,企业seo

专业从事河北seo服务及沧州seo服务.我们对中小企业seo有独到的见解之处!QQ:8972812

独门火锅鸡家庭制作秘籍 回到列表 nokiaQDpkNokia6120c

2010年4月25日replace替我解5u采集燃眉之急

因为自己做了一个b2b站,因为此类站点后来我也想通了,没有数据是根本不行的,一个人要是去更新W数条信息,那不的累死啊,想来想去还是决定采集,虽然这样子对其他站很是不公平,但是毕竟不这样子做的话,站全不前途可言.

几经周折算是找到了5u的一个采集插件,但是问题居多,不过工夫不负有心人,总算是把数据采集了。但是我遇到一个奇怪的现象,有一个站死活是采集不了的,我也不知道是为什么,只知道不行!一直僵持到现在也没有找到合适的解决办法.

明明规则是对的,因为我点演示后,站点明明是可以采集的,但是真正的采集的时候就会提示目标采集不到标题,真郁闷的要死.无奈之下简直要放弃!阳光,阳光...哈哈,在这要感谢一人那就是秋风冷饮大侠,他的灵感太强大了,一语惊醒梦中人下面看看他说什么了.

他让我对比,演示里的地址和采集时候的地址,初看是一样的.但是他还是让我自己看:

http://www.hebgc.com/?a=detail_zbgg&xh=149989   采集演示里的地址

http://www.hebgc.com/?a=detail_zbgg&xh=149616  真正采集时候的地址

这个时候我才发现原来不细心就是不行!在采集的时候地址多出了&amp,怪不得采集不了呢.现在要做的就是把真正采集的时候地址改成和演示里的一致了,就可以采集了。既然知道是那的问题了,那么动工!下面我只贴出部分相关代码:

 tempStr = Split(tempStr2,"|")
 i=lBound(tempStr)
 j=uBound(tempStr)
 For i=i To j'开始采集列表页
    Call IDtext("list","采集列表网页: "& tempStr(i))
    Response.Flush
    vHtmlCode = MyCollect.GetRemoteData(tempStr(i),col_cls.vCharset)       '采集目标网页
    vHtmlCode = MyCollect.ReplaceTrim(vHtmlCode)                           '替换字符
    vHtmlCode = MyCollect.CutFixed(vHtmlCode,Trim(iList(0)),Trim(iList(1))) '#找到列表内容
    vHtmlCode = MyCollect.FindMatch(vHtmlCode,Trim(iUrl(0)),Trim(iUrl(1)))  '#找到网址,以 ||| 分割
    tempStr2 = Split(vHtmlCode,"|||")
    m = lBound(tempStr2)
    n = uBound(tempStr2)
    For m=m to n
       num = num+1
       bUrl = MyCollect.FormatRemoteUrl(Trim(tempStr(i)),Trim(tempStr2(m))) '格式化远程地址
       Sql = "Insert Into [CollectList](aID,aUrl)Values("& ID &",'"& bUrl &"')"          '加入到库中
       MyConn.execute(sql)
       Call IDtext("url","目标正文网页: "& bUrl)
       Response.Flush
    Next
 Next
 '#判断采集结果
 If num=0 then
     Call OutErrors("没有采集到任何网址列表数据!!  请重新设置!")
     response.end 
 else
  Session("OK_NUM")=0
  Session("ERR_NUM")=0
     Call IDHtml("load","<font color=red>采集到网址数据:"& num &"<br>3s后开始采集...</font>")
     Response.write "<div style=""float:left;width:100%;padding-top:20px;"" id=""btn""><input value=""停止采集"" type=button onclick=""location='?Act='""></div>"
     Response.Write "<meta http-equiv=""refresh"" content=""3;URL=?Act=Collect2&ID="& ID & """ />"
     Response.Flush
     Response.end
 End if
End Sub 'Collect

以上代码就是实现采集地址的地方了,细到:

    For m=m to n
       num = num+1
       bUrl = MyCollect.FormatRemoteUrl(Trim(tempStr(i)),Trim(tempStr2(m))) '格式化远程地址
       Sql = "Insert Into [CollectList](aID,aUrl)Values("& ID &",'"& bUrl &"')"          '加入到库中
       MyConn.execute(sql)
       Call IDtext("url","目标正文网页: "& bUrl)
       Response.Flush
    Next
技术重点提示:这里需要用到asp里的一个函数那就是replace,这个函数实现了把字符串替换成其他的字符串,具体的用法和说明请访问:http://zhidao.baidu.com/question/89071944.html?fr=ala0.

更改后的代码:

    For m=m to n
       num = num+1
       bUrl = MyCollect.FormatRemoteUrl(Trim(tempStr(i)),Trim(tempStr2(m))) '格式化远程地址
  bUrl = replace(burl,"&amp;","&")
       Sql = "Insert Into [CollectList](aID,aUrl)Values("& ID &",'"& bUrl &"')"          '加入到库中
       MyConn.execute(sql)
       Call IDtext("url","目标正文网页: "& bUrl)
       Response.Flush
    Next

其实只是加了一句bUrl = replace(burl,"&amp;","&"),然这句话就是要把&amp;替换为&了.这样子演示和采集里的地址一样了,结果就是我们成功的采集了对方数据!

你浏览的文章是 - 《replace替我解5u采集燃眉之急》! 文章出处:http://www.zheteng.net.cn/news/174.html 折腾专业针对河北seo提供网站优化服务。并对企业seo有着独到的眼光。详情咨询客服QQ:8972812。

分类: asp编程相关
原文链接: replace替我解5u采集燃眉之急
Tags: 关键词优化  asp  网站优化  

网友评论区:

发表评论:

(*)