这是网站:
http://www.sat24.com/foreloop.aspx?type=1&continent=europa# 那里的图像在循环中移动。
这是一张图片的网址示例:
http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.precip&datum=201309171200&cultuur=en-GB&continent=europa 中间有时间和日期:201309171200 我需要以某种方式从每个网址自动解析时间和日期。
例如,构建一些字符串:
“www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.precip&datum=”+ parsedDateAndTime +& cultuur = en-GB& continent = europa 我到目前为止尝试的是:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Net;
namespace DownloadImages
{
public partial class Form1 : Form
{
int counter;
public Form1()
{
InitializeComponent();
counter = 0;
string localFilename = @"d:\localpath\";
while (true)
{
using (WebClient client = new WebClient())
{
client.DownloadFile("http://www.sat24.com/foreloop.aspx?type=1&continent=europa#", localFilename + counter.ToString("D6") + ".jpg");
counter++;
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}
但我没有解析任何网址,但我正在使用主循环网址,我看到它每次下载46kb文件,但我无法打开它我得到一个错误,油漆无法打开它...等
这是我做错的方式。
如何从循环中下载网站中的每张图片?
如何从每张图片中解析日期和时间,以便不会一直下载相同的图像?我需要以某种方式获取每个image-url的日期和tiem,并将其用作符号或其他内容,以便它不会下载相同的文件。
编辑**
每张图片的每个网址的日期和时间都在变化,例如:
如果您右键单击图像并制作:复制图像URL,您可以看到日期和时间根据循环的变化,就像在网站中一样,您可以看到时间和日期是每个图像的变化。
答案 0 :(得分:1)
我认为您的意思是您获得了表单的网址:
"http://www.niederschlagsradar.de/images.aspx?
jaar=-6&type=europa.precip&datum=201309171500&cultuur=en-GB&continent=europa"
并且您想要提取该日期和时间位,以便将其与您已有的图像列表进行比较。因此,在上文中,您希望获得201309171500
。
您可以使用正则表达式执行此操作:
string theUrl = @"http://www.niederschlahttp://www.niederschlagsradar.de/images.aspx?
jaar=-6&type=europa.precip&datum=201309171500&cultuur=en-GB&continent=europa";
Match m = Regex.Match(theUrl, @"&datum=(\d{12})&");
if (m.Success)
{
string theDate = m.Groups[1].Value;
Console.WriteLine(theDate);
}
如果您查看原始网址http://www.sat24.com/foreloop.aspx?type=1&continent=europa#
中的HTML,您会看到一些如下所示的Javascript:
var images = new Array(
"http://www.niederschlagsradar.de/images.aspx?jaar=-6&type=europa.precip&datum=201309150000&cultuur=en-GB&continent=europa",
"http://www.niederschlagsradar.de/images.aspx?
// many more image URLs here
);
您需要下载HTML页面,在HTML中找到该数组,并解析出各个图像的URL。然后,您可以依次下载每个图像。