ebhb 发表于 2009-11-22 01:50:19

下面的网页如果提取代理地址?

本帖最后由 ebhb 于 2009-11-22 13:08 编辑

//--></SCRIPT></TD><TD class="list">3128</TD><TD class="list">HTTP</TD><TD class="list">美国 中部/南部(IANA)</TD><TD class="list">11-22 00:25</TD><TD class="list">7.003</TD><TD class="list"><a href=whois.php?whois=201.75.14.156 target=_blank>whois</TD></TR>
<TR align="center" bgcolor="#fbfbfb" onDblClick="clip('206.124.17.4:8888');alert('已拷贝到剪贴板!')" onMouseOver="this.style.backgroundColor='#E1E8E8';return true;" onMouseOut="this.style.backgroundColor='#fbfbfb';"><TDclass="list">7</TD><TD class="list"><SCRIPT LANGUAGE="JavaScript">
需要一个正则表达式,取206.124.17.4:8888

afan 发表于 2009-11-22 04:20:28

$Str = _
'//--></SCRIPT></TD><TD class="list">3128</TD><TD class="list">HTTP</TD><TD class="list">美国 中部/南部(IANA)</TD><TD class="list">11-22 00:25</TD><TD class="list">7.003</TD><TD class="list"><a href=whois.php?whois=201.75.14.156 target=_blank>whois</TD></TR>' & @CRLF & _
'<TR align="center" bgcolor="#fbfbfb" onDblClick="clip(' & "'" & '206.124.17.4:8888' & "'" & ');alert(' & "'" & '已拷贝到剪贴板!' & "'" & ')" onMouseOver="this.style.backgroundColor=' & "'" & '#E1E8E8' & "'" & ';return true;" onMouseOut="this.style.backgroundColor=' & "'" & '#fbfbfb' & "'" & ';"><TDclass="list">7</TD><TD class="list"><SCRIPT LANGUAGE="JavaScript">' & @CRLF & _
''
Msgbox(0,0,$str)
$sR = StringRegExp($str, 'clip\(.(.+).\);alert', 3)
If @error = 0 Then Msgbox(0,0,$sR)

ebhb 发表于 2009-11-22 10:03:52

谢谢afan了,能不能解释一下啊?什么意思?

水木子 发表于 2009-11-22 10:34:33

没明白这个正则表达式
$sR = StringRegExp($str, 'clip\(.(.+).\);alert', 3)

'clip\(.(.+).\);alert' 这一句为什么要这样写?

ebhb 发表于 2009-11-22 12:01:46

取http://www.proxycn.com/html_proxy/http-1.html这个地址的代理地址,本来是50个,但只能取18个,不知道什么原因。

afan 发表于 2009-11-22 12:26:51

回复 5# ebhb


    可以取到100个啊,你应该是获取源码有问题吧~

afan 发表于 2009-11-22 12:29:49

回复 4# 水木子


    只用了最简单的匹配字符(括号用了转义符\),不要往深处想,呵呵~

ebhb 发表于 2009-11-22 13:08:04

谢谢,谢谢,我用的是那个正则表达式测试帖子里面来测试的,看来那个测试程序有点问题。
   $Url="http://www.proxycn.com/html_proxy/http-1.html"
   $oIE = _IECreate ($url)      
   $sHTML = _IEBodyReadHTML ($oIE)
   $sR = StringRegExp($sHTML, 'clip\(.(.+).\);alert', 3)
   If @error = 0 Then Msgbox(0,0,$sR)
Exit
用上面的测试没问题了。
页: [1]
查看完整版本: 下面的网页如果提取代理地址?