找回密码
 加入
搜索
查看: 7660|回复: 8

[IE类操作] [已解决]新浪新闻的采集问题

  [复制链接]
发表于 2010-11-4 08:47:44 | 显示全部楼层 |阅读模式
本帖最后由 kxing 于 2010-11-4 13:36 编辑

我希望通过inetget下载援文件用正则提取新闻条目。
但是,这个叶面的新闻用了一个js循环完成的。
下载回来的htm文件并没有实际新闻内容。
请高手帮忙解决,多谢!!!

http://news.sina.com.cn/hotnews/
发表于 2010-11-4 10:15:17 | 显示全部楼层
我看了下,他的数据是通过PHP获得  然后本地解析的  
获取数据的url在JS里有  诸如http://top.news.sina.com.cn/ws/G ... p;js_var=all_1_data获取的标题是Unicode编码   自己转码一下就可

评分

参与人数 1金钱 +20 贡献 +2 收起 理由
afan + 20 + 2

查看全部评分

发表于 2010-11-4 11:40:00 | 显示全部楼层
初步做了一下,楼主自行扩展吧。
#include <array.au3>
#include <string.au3>
#include <INet.au3>

$s_URL='http://top.news.sina.com.cn/ws/GetTopDataList.php?top_type=day&top_cat=www_all&top_time=20101104&top_show_num=100&top_order=ASC&js_var=all_1_data'
$soure=_INetGetSource ( $s_URL )
FileWrite('url.txt',$soure)
;$soure=FileRead('soure.txt')
$s_array=StringRegExp($soure,'{(.*?)}',3)
Local $temp_str,$temp,$temp_s,$string
Local $array[UBound($s_array)][5]
For $i=1 To UBound($s_array)-1    
    $temp_str=''
    $array[$i][0]=$s_array[$i]
    $temp=StringRegExp($s_array[$i],'"(.*?)"',3)
    $array[$i][1]=hextostring($temp[3])
    $array[$i][2]=hextostring($temp[5])
    $array[$i][3]=url($temp[9])
    $array[$i][4]=url($temp[11])
Next
_ArrayDisplay($array)

Func Hextostring($string)
    Local $temp_str,$temp_s
    $temp_s=StringSplit($string,'\u',3)
    $string=''
    For $n=1 To UBound($temp_s)-1
        If StringLen($temp_s[$n])<>4 Then
            $temp_s[$n]=ChrW('0x'&StringMid($temp_s[$n],1,4))&StringMid($temp_s[$n],5)
            $string&=$temp_s[$n]            
        Else
        $temp_s[$n]=ChrW('0x'&$temp_s[$n])
        $string&=$temp_s[$n]
        EndIf
    Next
    Return $string
EndFunc

Func url(ByRef $string)
    Local $url
    $string=StringReplace($string,'\/','/')
    Return $string
EndFunc
    
    

评分

参与人数 4金钱 +100 收起 理由
newuser + 30
kxing + 10 辛苦了!!!
afan + 30
republican + 30 学习了~

查看全部评分

 楼主| 发表于 2010-11-4 13:33:10 | 显示全部楼层
万分感激!!!!
发表于 2011-1-14 00:25:52 | 显示全部楼层
发表于 2011-1-14 00:26:11 | 显示全部楼层
呵呵,还是牛人多啊
发表于 2011-11-25 09:03:38 | 显示全部楼层
初步做了一下,楼主自行扩展吧。
3mile 发表于 2010-11-4 11:40



    牛人啊!!!!!
发表于 2011-12-30 14:49:02 | 显示全部楼层
发表于 2014-8-14 21:14:41 | 显示全部楼层
3mile 牛人啊
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 14:46 , Processed in 0.122073 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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