现在在做抓取视频项目,主要抓取优酷,搜狐视频,56,激动,土豆,奇艺等等视频网站的视频地址和标题。一般情况下<a href ="http://youku/v_show/1.html" title="奥运会">奥运会</a> 这种a标签比较好抓,但是有的网站a标签比较复杂,所以请教高手帮忙 正则表达式的写法,  例如这样的嵌套的a标签<a href="http://www.tudou.com/albumplay/t1tzlUNNYo4/-iH73Qo6xTc.html" target="new" class="inner"><img width="132" height="99" alt="http://i3.tdimg.com/b/20120806/c224.jpg" class="pack_clipImg lazyImg" src="http://css.tudouui.com/skin/__g/img/sprite.gif" ><span class="vpbg"></span><a class="vinf" target="new" href="http://www.tudou.com/albumplay/t1tzlUNNYo4/-iH73Qo6xTc.html">2012-08-05</a></a>     
还有这样的  <A href="http://sports.joy.cn/video/4015552.htm" target="_blank"><img src="http://file1.megajoy.com/2012/07/04/20/47sxy7bf_0076_010.jpg" alt="博阿斯重返英超 下赛季执教热刺" border=0 width=100 height=75></A>请教大家正则表达式怎么写比较完善啊 ,要不区分大小写,还要抓到完整的a标签。至于a标签里的内容我在自己会过滤。谢谢大家~~~~~~~~~~~~~~~~~~~~~~好答案直接给全分哦

解决方案 »

  1.   

    /<a[^>]*>/is  这样将所有a匹配了。你再自己处理地址和标题。
      

  2.   

    我现在用的是这个:/<a\s+[^>]*\s*>.+<\/a>/i  
    可还是土豆的抓不下来,不知道怎么回事?你写的这个没有结束    </a>   啊,我试了一下     因为标题是提取的   <a>标题</a>   中间的,所以提取不到。   现在主要是a标签嵌套的问题我正则也不太好,谢谢你~
      

  3.   

    /<a[^>]*>.+?<\/a>/is 
    嵌套的要什么结果。最里层的?
      

  4.   

    <a href="http://www.tudou.com/albumplay/t1tzlUNNYo4/-iH73Qo6xTc.html" target="new" class="inner"><img width="132" height="99" alt="http://i3.tdimg.com/b/20120806/c224.jpg" class="pack_clipImg lazyImg" src="http://css.tudouui.com/skin/__g/img/sprite.gif" ><span class="vpbg"></span><a class="vinf" target="new" href="http://www.tudou.com/albumplay/t1tzlUNNYo4/-iH73Qo6xTc.html">2012-08-05</a></a>  像上面这样的a标签应该怎么匹配呢?我用/<a\s+[^>]*\s*>.+<\/a>/i  匹配不到视频地址
      

  5.   

    (?i)<a\b(?:(?!\bhref\b).)*+href\s*=\s*(["']?)([^"'\s><]++)\1[^><]*+>(?:(?!</?a\b).)*+(?:<a\b[^><]*>[^><]*</a>\s*)?(?:(?!</?a\b).)*+</a>
     
                     不懂,请加QQ群:248760715
      

  6.   

    我找到原因了,是因为网页编码问题,百度腾讯优酷都是utf-8,土豆,激动网,新浪视频都是gb2312,抓不到,我们是utf-8。还是非常谢谢你~~~