Сообщение Re[6]: Как распарсить СМИ2? от 05.11.2024 8:25
Изменено 05.11.2024 8:31 Passerby
Re[6]: Как распарсить СМИ2?
Здравствуйте, Sinclair, Вы писали:
S>Что именно вызывает затруднения?
Всем спасибо. Вызывало затруднение незнание PHP. Сделал так:
Конечно красивее https://rsdn.org/forum/dotnet/8845783?tree=tree
S>Что именно вызывает затруднения?
Всем спасибо. Вызывало затруднение незнание PHP. Сделал так:
using var result = await client.PostAsync("https://smi2.ru/newdata/jsapi?action=articles", new StringContent("{ \"block_id\":84683, \"count\":50, \"fields\":4194303 }", Encoding.UTF8, "application/json")).ConfigureAwait(false);
if (result.IsSuccessStatusCode)
{
var message = result.Content.ReadAsStringAsync().Result;
try
{
if (countError != 0) WriteLine(DateTime.Now + " Возобновление");
countError = 0;
List<string> listTitlesNew = new(4);
string substringStart = "\"title\":\"";
string substringEnd = "\",\"topic_id\"";
int index = message.IndexOf(substringStart, 0);
int l = substringStart.Length;
while (index > -1)
{
int indexEnd/*1*/ = message.IndexOf(substringEnd, index + l);
listTitlesNew.Add(message.Substring(index + l, indexEnd - index - l));
index = message.IndexOf(substringStart, indexEnd + 2);
}
foreach (var v in listTitlesNew)
if (listTitles != null && !listTitles.Contains(v) || listTitles == null)
{
WriteLine(DateTime.Now + " " + v + " https://smi2.ru/");
string sLow = v.ToLower();
bool china = sLow.Contains("китай") && sLow.Contains("тайвань");
if (china)//if (DateTime.Now.Hour > 9 && DateTime.Now.Hour < 23)
{
WhileSpeek("СМИ 2 " + v);
}
}
listTitles = listTitlesNew;
}
catch (Exception e) { if (countError > 10) speek.Speak(DateTime.Now + " Нет ответа от сервера"); Thread.Sleep(15000); }
Thread.Sleep(5000);
}
Конечно красивее https://rsdn.org/forum/dotnet/8845783?tree=tree
Автор: kov_serg
Дата: 03.11 01:12
Но чтобы разделы печатать, нужно теги считат, что лень.Дата: 03.11 01:12
Re[6]: Как распарсить СМИ2?