Home  >  Article  >  Web Front-end  >  C# regular parsing HTML to capture all images_html/css_WEB-ITnose

C# regular parsing HTML to capture all images_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 12:01:141237browse

抓取html中的所有图片,目前img标签中的已经能够拿出来了,但是还有一些是这样写的

比如

<div style="background-image:url('../image/493aid.png')"></div><div style="background-image:url(../image/493aid.png)"></div>

或者是这种写法
<div style="background:url('../image/493aid.png')"></div>

也有可能不是div,可能是td,或者其他标签。


弄了半天,始终没弄好。

求大神帮助。


回复讨论(解决方案)

有的图片是流输出的 也是要考虑的

<body ><div id = "a"><div style="background-image:url('../image/493aid.png')"></div><div style="background-image:url(../image/491aid.png)"></div><div style="background:url('../image/492aid.png')"></div></div></body><script>var all = document.getElementById("a").innerHTML,	reg = /[^\'\"\(]+(\.png|\.jpf|\.bmp)/g;console.log(all);allImg = all.match(reg);console.log(allImg);var allimg = [];all.replace(reg,function($1){	allimg.push($1);});console.log(allimg);


说起来,感觉你去抓取这些没有意义的啊,大部分的背景图片,都是以class中加载过来的。

一般不写在标签中的啊。

<body ><div id = "a"><div style="background-image:url('../image/493aid.png')"></div><div style="background-image:url(../image/491aid.png)"></div><div style="background:url('../image/492aid.png')"></div></div></body><script>var all = document.getElementById("a").innerHTML,	reg = /[^\'\"\(]+(\.png|\.jpf|\.bmp)/g;console.log(all);allImg = all.match(reg);console.log(allImg);var allimg = [];all.replace(reg,function($1){	allimg.push($1);});console.log(allimg);


说起来,感觉你去抓取这些没有意义的啊,大部分的背景图片,都是以class中加载过来的。

一般不写在标签中的啊。




虽然你完全没达到我的要求,但是还是给分,我已经自己实现,一边看正则表达式的基础,一遍写正则验证,已经搞定了我的这个需求,虽然不是那么完美。
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn