は私が持っているクラスでは:htmlページファイルから日付と時刻を抽出するにはどうすればよいですか?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Net;
namespace SatelliteImages
{
class ExtractImages
{
static WebClient client;
List<string> imagesUrls = new List<string>();
static string htmltoextract;
static string link;
static string text;
public static List<string> countriescodes = new List<string>();
public static List<string> countriesnames = new List<string>();
private static int lastsatimage = 0;
private static string Next_Sat_File;
private static string temp_sat_dir;
public void Init()
{
ExtractCountires();
}
public static void ExtractCountires()
{
try
{
htmltoextract = "http://sat24.com/en/?ir=true";
client = new WebClient();
client.DownloadFile(htmltoextract, @"c:\temp\sat24.html");
client.Dispose();
string tag1 = "<li><a href=\"/en/";
string tag2 = "</a></li>";
string s = System.IO.File.ReadAllText(@"c:\temp\sat24.html");
s = s.Substring(s.IndexOf(tag1));
s = s.Substring(0, s.LastIndexOf(tag2) + tag2.ToCharArray().Length);
s = s.Replace("\r", "").Replace("\n", "").Replace(" ", "");
string[] parts = s.Split(new string[] { tag1, tag2 }, StringSplitOptions.RemoveEmptyEntries);
string tag3 = "<li><ahref=\"/en/";
for (int i = 0; i < parts.Length; i++)
{
if (i == 17)
{
break;
}
string l = "";
if (parts[i].Contains(tag3))
l = parts[i].Replace(tag3, "");
string z1 = l.Substring(0, l.IndexOf('"'));
countriescodes.Add(z1);
string z2 = parts[i].Substring(parts[i].LastIndexOf('>') + 1);
countriesnames.Add(z2);
}
}
catch (Exception e)
{
}
}
}
}
私は、ファイル内のsat24.htmlファイルを読み込むときに日付と時刻は、htmlファイルにこの部分にあることがわかった。次に
var arrayImageTimes = [];
arrayImageTimes.push('201612271810');arrayImageTimes.push('201612271825');arrayImageTimes.push('201612271840');arrayImageTimes.push('201612271855');arrayImageTimes.push('201612271910');arrayImageTimes.push('201612271925');arrayImageTimes.push('201612271940');arrayImageTimes.push('201612271955');arrayImageTimes.push('201612272010');arrayImageTimes.push('201612272025');
何私はしたいと思います日付と時間をexctractし、2つのリストに追加する:201612271810ので、最初のリストは、この形式です。
日時ないように注意してくださいどのような形式のものであると第二のリストが、:私は、後で何をしたいのか= 2016月年= 12日= 27時間= 18分= 10
は、新しいリンクを構築することです次のようにしてください:http://www.sat24.com/image2.ashx?region=is&time=201612271810&ir=true質問はどのようにして日付と時刻を抽出し、次にExtractCountriesメソッドを使ってリンクを構築するのですか? ExtractCountriesメソッドでは、国コードと国名の2つのリストを取得しています。
リンクを作成するために必要なものは、国/地域コードと国/地域日時です。
それでは、私は、例えば、日付、時間とコードのリストを使用することができます。
彼らはhtmlファイル形式であるとして最初のリストは、日付と時刻になります。たとえば、最初の日付をし、時間は次のとおりです。=イスラエルと201612271810この画像リンクの日付時間です
http://www.sat24.com/image2.ashx?region=is&time=201612271810&ir=true
。 または、例えば
http://www.sat24.com/image2.ashx?region=tu&time=201612271810&ir=true
地域TUは七面鳥
あるので、私は必要なものをすべての国コードと地域ごとのすべての日付と時刻(countrey)から構築されたリンクのリストを取得することですので、私は、後でダウンロードすることができます画像。
http://www.sat24.com/image2.ashx?region=tu&time=201612271825&ir=true
http://www.sat24.com/image2.ashx?region=tu&time=201612271840&ir=true
http://www.sat24.com/image2.ashx?region=tu&time=201612271855&ir=true
http://www.sat24.com/image2.ashx?region=tu&time=201612271910&ir=true
.
.
.
.
.
.
http://www.sat24.com/image2.ashx?region=is&time=201612271810&ir=true
http://www.sat24.com/image2.ashx?region=is&time=201612271825&ir=true
http://www.sat24.com/image2.ashx?region=is&time=201612271840&ir=true
http://www.sat24.com/image2.ashx?region=is&time=201612271910&ir=true
は勿論sat24ページから各地域/国抽出した日時にdpending:
だから、たとえば、URI文字列型や文字列のリストタイプのリストの最初の10 indexs中のようなものになります。
次に、画像をダウンロードするためのリストの作成が完了しました。たとえば、http://www.sat24.com/image2.ashx?region=is&time=201612271910&ir=trueの各リンクをダウンロードしてイメージとして保存する必要があります。
を動作することを示す.Net Fiddleを作成しました。 – SLaks