Парсер love.mail.ru (htmlagilitypack) - C#
Формулировка задачи:
Всем добрый день.
Есть проект парсинга love.mail.ru (http://love.mail.ru/search.phtml?ia=...0_0_0_0&form=1)
Пришел в тупик.
Задача :
Спарсить ID людей .(Используюя
htmlagilitypack
) Кто-то скажет: Можно регулярками - НЕТ, учусь htmlagilitypack Проблема: Начинаю парсить и парсится нормально,но с мусором (да да ,я криво составляю запрос и у меня парсит ID не с ссылки,а со скрипта. ) Опять же - мусор можно убрать,но как спарсить ссылку? Картинка Всем спасибо кто пытается помочь. _exp10der_ если ты читаешь это,то спасибо что помогаешь новичкамusing HtmlAgilityPack; 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 xNet.Net; namespace WindowsFormsApplication6 { public partial class Form1 : Form { CookieDictionary cookie = new CookieDictionary(); HttpRequest request = new HttpRequest(); public Form1() { InitializeComponent(); request.Cookies = cookie; } private void button1_Click(object sender, EventArgs e) { RTB.Clear(); Go_Pars(); } public void Go_Pars() { string zapros = @"http://love.mail.ru/search.phtml?ia=F&lf=N&af=18&at=80&t=a&s_c=0_0_0_0&form=1"; string content = ""; request.UserAgent = HttpHelper.IEUserAgent(); // Отправляем запрос. request.Referer = HttpHelper.UrlEncode(zapros); HttpResponse response = request.Get(zapros); // Принимаем тело сообщения в виде строки. content = response.ToString(); HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); HtmlNodeCollection nodes; doc.LoadHtml(content); //Парсим страницу на блоки со ссылками // nodes = doc.DocumentNode.SelectNodes("//div[@class='serp-list']//span[@class='serp-url__item']//a[1]"); // href // nodes = doc.DocumentNode.SelectSingleNode("//a").GetAttributeValue("href", ""); nodes = doc.DocumentNode .SelectNodes("//*[@class='tiles-list js-search-results-container']"); //.Attributes["href"]; int count = 0; int pos = 0; if (nodes == null) return; foreach (HtmlNode node in nodes) { count++; RTB.AppendText(count + ". " + node.InnerText + "\n"); pos += node.InnerText.Length + 1 + (Convert.ToString(count) + ". ").Length; } } } }
Решение задачи: «Парсер love.mail.ru (htmlagilitypack)»
textual
Листинг программы
HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(html);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д