afan
发表于 2011-11-25 20:09:19
回复 29# 卫和谐
怎么不一样?
卫和谐
发表于 2011-11-25 20:12:27
回复 27# afan
能把两部分分开来做?
afan
发表于 2011-11-25 20:13:25
回复 32# 卫和谐
28#没看见?
afan
发表于 2011-11-25 20:15:48
回复卫和谐
一楼的源码和18楼的完全不一样...
第一个
([^
lixiaolong 发表于 2011-11-25 20:08 http://www.autoitx.com/images/common/back.gif
可能缺少特征,这样获取会多出许多~
他提供的网页右边排名应该只有20组~
卫和谐
发表于 2011-11-25 20:22:26
回复 34# afan
看到了网速太慢,那如果要获取个人那部分呢?
qqmmcc
发表于 2011-11-25 20:22:27
本帖最后由 qqmmcc 于 2011-11-25 20:24 编辑
用DOM 操作不是更方便吗?以20楼为例,节点是id="tbldwph"
获得该节点的innerText文本即可
正则也要看情况的用的。
卫和谐
发表于 2011-11-25 20:37:35
回复 34# afan
再帮助看一下个人那部分吧,本人实在太菜了......
afan
发表于 2011-11-25 20:40:13
回复 37# 卫和谐
看了下,里面的排行类别很多,有单位、个人、单位人气、个人人气…… 不知道你要哪款?
3mile
发表于 2011-11-25 20:45:40
#include <INet.au3>
#include <array.au3>
$str=_INetGetSource ( "http://mms.shm.com.cn/smsRegs/2011jc/ListInfo.aspx",False)
$str=BinaryToString($str,4)
$array=StringRegExp($str,'(?ms)\<\!--个人人气--\>.*?/table\>',3)
$str=_ArrayToString($array,@CRLF)
$array=StringRegExp($str,'>\h*([\x{4e00}-\x{9fa5}\d]+)<',3)
Local $out_array
Local $k=0
For $i=0 to UBound($array)-1 Step 3
$out_array[$k]=$array[$i+1]
$out_array[$k]=$array[$i+2]
$k+=1
Next
_ArrayDisplay($out_array)
卫和谐
发表于 2011-11-25 20:46:51
回复 38# afan
和单位一样,就是右侧那个个人排行列表,个人名字和票数!
afan
发表于 2011-11-25 20:51:25
回复 40# 卫和谐
右侧只有单位人气,没看到有个人的
卫和谐
发表于 2011-11-25 21:00:51
回复 39# 3mile
为什么不用单位那种方式分开来写???
卫和谐
发表于 2011-11-25 21:03:47
回复 41# afan
有啊,点击候选民警展示,右侧就可以切换啊
3mile
发表于 2011-11-25 21:05:54
回复 42# 卫和谐
第七行改为:
$array=StringRegExp($str,'(?ms)\<\!--单位人气--\>.*?/table\>',3)
user3000
发表于 2011-11-25 21:08:37
顶一个,顺便说声:正则的魅力不小!