[已解决]请教提取网易新闻排行榜的问题
本帖最后由 bihex 于 2015-2-13 05:08 编辑网页地址: http://news.163.com/photo/#Ranking
我想提取出来数组存储
1 新闻地址1图片地址1 新闻标题1 浏览数1
2 新闻地址2图片地址2 新闻标题2 浏览数2
....
这个正则表达式为啥不能识别呢
<li><a href="(http:.*?html)\s*src="(http:.*?jpg)\s*<span>(.*?)</span><b>(\d )</b> </a> </li>
[
网页源码格式化后是下面的样子:<li> <a href="http://news.163.com/photoview/3R710001/82856.html?from=ph_rank" target="_blank" class="list-0"> <i>1</i>
<div class="simg">
<q class="rank-num-1"></q>
<img style="width: 100%; height: 100%; margin-left: 0%; margin-top: 0%;" src="http://img3.cache.netease.com/photo/0001/2015-01-15/t_AFVLQM713R710001.jpg" onload="fitImg(this);" />
</div> <span>《看客》第394期:催化感恩</span> <b>4827934</b> </a> </li>
<li> <a href="http://news.163.com/photoview/00AP0001/82862.html?from=ph_rank" target="_blank" class="list-1"> <i>2</i>
<div class="simg">
<q class="rank-num-2"></q>
<img style="width: 100%; height: 100%; margin-left: 0%; margin-top: 0%;" src="http://img3.cache.netease.com/photo/0001/2015-01-15/t_AG02VSTL00AP0001.jpg" onload="fitImg(this);" />
</div> <span>长沙街头现反腐败漫画 城管称过于负能量</span> <b>2000832</b> </a> </li>
<li> <a href="http://news.163.com/photoview/00AN0001/82785.html?from=ph_rank" target="_blank" class="list-2"> <i>3</i>
<div class="simg">
<q class="rank-num-3"></q>
<img style="width: auto; height: 100%; margin-left: -2%; margin-top: 0%;" src="http://img4.cache.netease.com/photo/0001/2015-01-14/t_AFTJF9O700AN0001.jpg" onload="fitImg(this);" />
</div> <span>周永康与薄熙来等“大老虎”的昔日合影</span> <b>1581451</b> </a> </li>
<li> <a href="http://news.163.com/photoview/00AP0001/82902.html?from=ph_rank" target="_blank" class="list-3"> <i>4</i>
<div class="simg">
<q class="rank-num-4"></q>
<img style="width: 100%; height: 100%; margin-left: 0%; margin-top: 0%;" src="http://img4.cache.netease.com/photo/0001/2015-01-15/t_AG0DN04O00AP0001.jpg" onload="fitImg(this);" />
</div> <span>武汉垃圾焚烧厂涉违法运行 周边居民屡患病</span> <b>1376549</b> </a> </li>
<li> <a href="http://news.163.com/photoview/00AO0001/82869.html?from=ph_rank" target="_blank" class="list-4"> <i>5</i>
<div class="simg">
<q class="rank-num-5"></q>
<img style="width: auto; height: 100%; margin-left: -4%; margin-top: 0%;" src="http://img4.cache.netease.com/photo/0001/2015-01-15/t_AG06SI3600AO0001.jpg" onload="fitImg(this);" />
</div> <span>美国3岁小花童20年后成夫妻</span> <b>1266953</b> </a> </li>
<li> <a href="http://news.163.com/photoview/00AO0001/82882.html?from=ph_rank" target="_blank" class="list-5"> <i>6</i>
<div class="simg">
<q class="rank-num-6"></q>
<img style="width: 100%; height: auto; margin-left: 0%; margin-top: -2%;" src="http://img3.cache.netease.com/photo/0001/2015-01-15/t_AG093SV200AO0001.jpg" onload="fitImg(this);" />
</div> <span>印度北方邦恒河现100具尸体</span> <b>864949</b> </a> </li>
#include <Array.au3>
Local $file = FileOpen(@ScriptDir&"\1.txt", 0)
If $file = -1 Then Exit
Local $chars = FileRead($file)
If @error = -1 Then Exit
Local $res = StringRegExp($chars,"+://[^\s]*(?=\S)|[^\x00-\xff]+.\S+(?=\<\/\w+)",3)
If Not @error Then _arraydisplay($res,'test')
FileClose($file)
我这半瓶水都都还不到,出来让大神们见笑了。看一下是不是你想要的效果? 我这半瓶水都都还不到,出来让大神们见笑了。看一下是不是你想要的效果?
半芯竹 发表于 2015-1-16 10:01 http://www.autoitx.com/images/common/back.gif
请问可以做出数组的形式吗 col0 col1 这种的,非常感谢,从你那里学到很多 回复 3# bihex
正则返回的原来就是一个数组。你自己弄个FOR循环来获取到你的变量里面就可以了。。 怎么才能把实现这样的效果,实在是没有什么思路,主要这样可以保证几个内容保持一致,就是新闻题目 图片地址 标题,万一有对不上的可以直接跳过即可。
Row Col0 Col1 Col2
1 http://news.163.com/.... http://img3.cache.....10001.jpg 《看客》第394期:催化感恩
2 http://news.163.com/.... http://img3.cache.....10002.jpg 长沙街头现反腐败漫画 城管称过于负能量
3 ... .... ....
.
.
.
回复 4# 半芯竹 继续求解决方法 主要是有的信息不全,如果差一个就全部都乱了
回复bihex
正则返回的原来就是一个数组。你自己弄个FOR循环来获取到你的变量里面就可以了。。
半芯竹 发表于 2015-1-16 15:00 http://www.autoitx.com/images/common/back.gif 本帖最后由 afan 于 2015-2-10 11:49 编辑
主要是有的信息不全,如果差一个就全部都乱了
bihex 发表于 2015-2-10 09:13 http://www.autoitx.com/images/common/back.gif
提问的学问,举例时就应该考虑到这种情况,而提供相关的前提条件。信息不全是什么样的都应该举例。
暂时可以试试(?si)href="(.*?)".+?src="(.*?)".+?span>(.*?)< 回复 8# afan
感谢,有时候数据显示有问题
页:
[1]