我正在编写一个c#程序来从.jpg文档中提取.jpg图像,但是目标图像的名称经常会发生变化。作为一个非常新的程序员,我不知道如何达到预期的结果。
我正在使用webclient下载html。
所以我想我有几个问题要问。
发布于 2013-08-28 20:16:41
简而言之,使用您所描述的方法:您不能。HTTP要求按其名称访问每个被请求的资源,您不能要求HTTP服务器返回一组名称与模式(无论是通配符表达式还是正则表达式)匹配的资源。
但是,如果您知道名称存在于特定范围之间并遵循模式,那么您可以创建一系列请求并相应地处理404错误,如下所示:
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 );
}
}
}发布于 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属性。
编辑:@雅各布Proffitt酷的东西,如果你对XPath满意
http://htmlagilitypack.codeplex.com/
https://stackoverflow.com/questions/18497286
复制相似问题