A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 符云爵 于 2012-6-27 10:34 编辑

<li>         
<a href="#" title="" target="_blank">
<img src="" alt='' />
</a>
         //这里红色部分是我想抓取的内容
<h3><a href="#" title="" target="_blank"><strong></strong></a></h3>         
<p>查看:94844次</p>         
<p>日期:2011年11月01日</p>   

<p>模特:          <a href='#'></a>            </p>        
</li>   




在一个ul中,有多个上面那样重复的li,我想抓取每个li中红色部分的内容,急求正则表达式!

3 个回复

倒序浏览

回帖奖励 +1 黑马币

"\\<li\\>\\<a.+\\>(\\<img .+\\</a\\>).*\\</li\\>      <>这个需不要转义我忘记了 不需要就去掉吧   在取组1就可以了
回复 使用道具 举报

回帖奖励 +1 黑马币

{:soso_e156:}
回复 使用道具 举报
nailsoul 发表于 2012-6-26 15:01
"\\\\(\\

非常感谢,昨天解决问题后忘了回复了,试了下你的,但抓不到红色部分,可能哪里还需修正,另外尖括号在java中应该是匹配html标签用的,不用转义。虽然不是我想要的答案,不过还是要感谢你的关注。

在做一个网络爬虫的后台,抓取指定网页上的图片列表,再抓取该列表中的子列表图片。 所以我想做的是抓取<img />标签的innerHTML,然后再取得src的值,不过能抓取上面问题的红色部分也可以截取得到需要的。看正则的相关文档以为一定要匹配结束标签,<img />又没有,所以加了个</a>。
我最终的解决方法是
1 直接抓取<img />的innerHTML  : (<img[\\w\\W].+?>)   取组0
2 抓取<img />标签中的src值     : <img\\s*.*\\s*(src=\\S*)\\s*.*>$  取组1,此时还包括src=",和最后的",这里做字符串截取就行了,因为抓取所有的<img />都共用这个方法,而指定网页中的<img />标签又存在很多不确定性,比如src有相对地址,也有绝对地址,等号后边有的单引号,有的双引号,最主要的是不能排除空格这种情况,正则就能解决这点。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马