Не удается загрузить веб-страницу через веб-клиент C# и через запрос / ответ
Я хочу скачать HTML-код веб-страниц, но есть проблемы с несколькими ссылками. Например: http://www.business-top.info/, http://azerizv.az/ Я не получаю html вообще, используя это: 1. WebClient:
using (var client = new WebClient())
{
client.Encoding = System.Text.Encoding.UTF8;
string result = client.DownloadString(resultUrl);
Console.WriteLine(result);
Console.ReadLine();
}
2. HTTP запрос / ответ
var request = (HttpWebRequest)WebRequest.Create(resultUrl);
request.Method = "POST";
using (var response = (HttpWebResponse)request.GetResponse())
{
using (var stream = response.GetResponseStream())
{
StreamReader sr = new StreamReader(stream, Encoding.UTF8);
string data = sr.ReadToEnd();
Console.WriteLine(data);
Console.ReadLine();
}
}
Таких ссылок много, поэтому я не могу скачать html вручную только через исходный код веб-страницы через браузер
1 ответ
Некоторые страницы загружаются поэтапно. Сначала они загружают ядро страницы, и только потом они оценивают любой JavaScript-код внутри, который загружает дополнительный контент через AJAX. Для очистки этих страниц вам понадобятся более продвинутые библиотеки очистки содержимого, чем просто отправитель HTTP-запроса.
РЕДАКТИРОВАТЬ: Вот вопрос в SO о той же проблеме, что и у вас сейчас: Jquery Ajax Соскреб веб-страницы с помощью C#