首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用通配符从html文档下载图像?

如何使用通配符从html文档下载图像?
EN

Stack Overflow用户
提问于 2013-08-28 20:08:06
回答 2查看 346关注 0票数 0

我正在编写一个c#程序来从.jpg文档中提取.jpg图像,但是目标图像的名称经常会发生变化。作为一个非常新的程序员,我不知道如何达到预期的结果。

我正在使用webclient下载html。

所以我想我有几个问题要问。

  1. 如何使用通配符来假定图像名称的名称和长度?
  2. 如何将HTML容器与文档中的目标图像分开?
EN

回答 2

Stack Overflow用户

发布于 2013-08-28 20:16:41

简而言之,使用您所描述的方法:您不能。HTTP要求按其名称访问每个被请求的资源,您不能要求HTTP服务器返回一组名称与模式(无论是通配符表达式还是正则表达式)匹配的资源。

但是,如果您知道名称存在于特定范围之间并遵循模式,那么您可以创建一系列请求并相应地处理404错误,如下所示:

代码语言:javascript
复制
String resource = "/images/aestheticallyAttractiveHumanFemalesWithoutClothing/img_{0}.jpg";
for(int i=1;i<100;i++) {

    String thisResource = String.Format(CultureInfo.InvariantCulture, resource, i);

    HttpWebRequest request = new (HttpWebRequest)WebRequest.Create(thisResource);
    HttpWebResponse response = request.GetResponse();
    if( response.Status == HttpStatus.OK ) {
        using(Stream rs = response.GetResponseStream())
        using(FileStream fs = new FileStream(Path.Combine("C:\\Temp\\IRSTaxReturns2011\\" + i.ToString() + ".jpg") {
            rs.CopyTo( fs );
        }
    }
}
票数 2
EN

Stack Overflow用户

发布于 2013-08-28 20:42:07

您应该刮刮网页,以获得图像url,然后下载图像。为清点支票:

https://github.com/jamietre/CsQuery

https://code.google.com/p/fizzler/

https://code.google.com/p/sharp-query/

Is there a jQuery-like CSS/HTML selector that can be used in C#?

这将允许您根据属性名称、文档中的位置或这些标识符的组合来选择您所关心的元素,然后获取src属性。

  1. 下载网页html
  2. 解析html以获取图像的url。
  3. 下载图像

编辑:@雅各布Proffitt酷的东西,如果你对XPath满意

http://htmlagilitypack.codeplex.com/

How to use HTML Agility pack

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18497286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档