如何提取使用图像标记中的样式属性给出的背景图像 在上面的标记中,我想提取图像。style属性而不是从SRC我想提取的图像而不是图片的路径从img style =“background:url('path')中提取图像但不是从src
回答
试试这个
var imageUrl = document.getElementById('myImage').style.background.image.url;
谢谢您的回复。一旦所有图像被提取到imageUrl变量中,我都没有得到如何使用imageUrl。在上面的答案中,Duane说我们可以在htmlagilitypack中使用HtmlNode,但是我在将图像放置在带有文本的输出文件中时遇到了问题。 – Maddy 2012-07-20 10:01:26
我相信他需要C#代码,而不是Javascript – 2012-07-20 10:02:22
您可以使用HTML Agility pack和:
var images = doc.DocumentNode.Descendants("img").Where(d => d.Attributes.Contains("style") && d.Attributes["style"].Value.Contains("background:url")).ToList();
这将返回一个包含所有图像的类型HtmlAgilityPack<HtmlNode>
的列表,然后您可以枚举它们以获取值。
谢谢你的回复。如何在HtmlNode中显示图像。我如何在输出字符串中包含这些图像。我从网页中提取图像和文本。 – Maddy 2012-07-20 09:26:59
我想你可以使用'string.Substring'并得到'background:url'第一次出现的索引,然后读取所有文本,直到结尾''' – dtsg 2012-07-20 10:04:38
你能告诉我一个示例代码如何用这个。 以下是我迄今为止用于提取内容的代码。 HtmlAgilityPack.HtmlDocument document = new HtmlAgilityPack.HtmlDocument(); document.LoadHtml(html); var images = document.DocumentNode.Descendants(“img”)。其中(d => d.Attributes.Contains(“style”)&& d.Attributes [ “风格”] Value.Contains( “背景:URL”))ToList(); string target =“”; HtmlNodeCollection col = document。DocumentNode.SelectNodes( “//表[@id = \” resultsTable \ “]”); foreach(HtmlNode link in col) { target + = link.InnerHtml; } – Maddy 2012-07-20 10:19:07
如果你正在做任何复杂的HTML解析HTML Agility Pack是一个很好的解决方案。
但是,如果这是你想要做的一切,一个简单的正则表达式就可以做到这一点。
如果您使用css标记,图像或背景图像设置图像,则可以搜索url并提取完整路径。
这非常简单的正则表达式将做到这一点。
url\(.*?\)
从完整路径中提取图像路径应该是微不足道的。
,你也可以使用简单的正则表达式这个问题xpathing使用HTML敏捷性包
style=background:url\('(?<bgpath>.*)'\)
在这里用自己的方式后是一个示例代码
static void Main(string[] args)
{
string innerHTML = "<img style=\"background:url('images/logo.jpg')\" />";
string regex = @"style=""background:url\('(?<bgpath>.*)'\)\""";
RegexOptions options = ((RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline) | RegexOptions.IgnoreCase);
Regex reg = new Regex(regex, options);
if (reg.IsMatch(innerHTML))
{
Console.WriteLine(reg.Match(innerHTML).Groups["bgpath"].Value);
}
Console.ReadLine();
}
- 1. 如何从div中提取img src?
- 2. 从preg_match_all字符串中提取img src
- 3. 提取图像src从<img>在Android标记
- 4. 从wordpress文章中的第一张图片中提取img src
- 5. 的WebView loaddata不从IMG SRC
- 6. 从dom.xpath获取img src
- 7. 从img标签获取src
- 8. 从IMG SRC
- 9. 提取图像src并使其成为另一图像的src
- 10. jQuery的gettings从IMG SRC而不是window.location.href
- 11. 获取IMG SRC信息显示图像
- 12. 正则表达式 - 从HTML中提取img src
- 13. 如何从图像获取SRC jQuery中
- 14. 如何从图像中获取src
- 15. 从幻灯片中的图像中获取图像src
- 16. 更改img src不显示图像
- 17. img src标记不显示图像
- 18. 从Cookie到<img Src="">
- 19. 从$(this)获取嵌套img src
- 20. 使用beautifulsoup从img标签获取src
- 21. 反应,图像从阵列没有出现在<img src>
- 22. 从RichTextBox中提取图像
- 23. 从图像中提取x%
- 24. 从图像中提取
- 25. 从php img src下拉图片
- 26. 从href标签中获取图像宽度而不是从img标签
- 27. Android:以编程方式从WebView中的图像库获取IMG SRC
- 28. 图像src更改,但不是实际图像
- 29. Scrapy提取错误的IMG SRC
- 30. 显示img src从mysql_query()
“我想提取的图像但不是图像的路径“,你是指图像,图像本身是什么? – 2012-07-20 09:19:20
你想要自己的形象吗? – 2012-07-20 10:01:05
即使我提供从后台网址提取的完整路径,图像也不会显示。 – Maddy 2012-07-20 10:17:18