0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 15
1

Парсить все ссылки по маске с определенного блока страницы

27.03.2018, 00:06. Показов 1918. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача спарсить все ссылки с одного блока по селектору id. После перебрать с помощью регулярных выражений. Если кто-то подкинет примеры кода, чтобы стал понятен принцип (желательно с комментариями), буду очень признателен. Еще просьба: посоветуйте учебник vb .Net. Чтобы по делу и без воды в формате " Это Х используется для У > Синтаксис > Примеры"
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.03.2018, 00:06
Ответы с готовыми решениями:

Считать html код страницы определённого блока
Доброго времени суток.У меня такой вопрос как можно получить html код страницы, но не всей а лишь...

Помогите составить регулярку,Которая будет парсить все ссылки на странице,а именно...
Помогите составить регулярку,Которая будет парсить все ссылки на странице,а именно...мне нужно...

Парсить строку по маске
Гуру, подскажите инструмент! Есть строка вида "фыва<asdf123>"йцук Надо получить 1) начало...

Можно ли получить все ссылки в приложении Net определенного типа
привет есть приложение хочу самостоятельно узнать сколько каких обьектов сейчас создано так как...

8
Администратор
Эксперт .NET
16988 / 13348 / 5208
Регистрация: 17.03.2014
Сообщений: 27,295
Записей в блоге: 1
27.03.2018, 16:28 2
Veb_valenok, будет проще если ты покажешь html который нужно распарсить и какой результат нужно получить.
0
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 15
30.03.2018, 21:44  [ТС] 3
Думаю писать весь html код нет смысла. Имеется блок <div id="searchResults" class="gs_left_column">...</div>. Нужно спарсить все ссылки из этого блока подходящие по шаблону в текстовый файл. Вот как я вижу алгоритм решения задачи — парсим страницу целиком > выделяем содержимое блока > проводим сравнение по шаблону с помощью регулярных выражений > совпадения записываем в массив и далее текстовый файл.
0
Администратор
Эксперт .NET
16988 / 13348 / 5208
Регистрация: 17.03.2014
Сообщений: 27,295
Записей в блоге: 1
30.03.2018, 21:52 4
Veb_valenok, а я вижу решение без регулярных выражений, но чтобы его привести нужно видеть хотя бы часть html и понимать что шаблон у ссылок.
0
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 15
01.04.2018, 20:02  [ТС] 5
Вот пример ссылки:
HTML5
1
<a href="https://ok.ru/profile/548742431231" class="gs_result_i_t_name o" hrefattrs="st.cmd=friendMain&amp;st.friendId=548742431231&amp;st._aid=LS_User_name">XXX</a>
. Спасибо, что взялись мне помогать)
0
Администратор
Эксперт .NET
16988 / 13348 / 5208
Регистрация: 17.03.2014
Сообщений: 27,295
Записей в блоге: 1
01.04.2018, 20:20 6
Veb_valenok, в чем именно заключается "шаблон ссылки"? То что она ведет на ok.ru? Или что она ведет на профиль ok.ru?

Цитата Сообщение от Veb_valenok Посмотреть сообщение
Спасибо, что взялись мне помогать)
Я пока ни за что не взялся. Прежде чем я напишу какой-либо код тебе необходимо пояснить суть задачи которую ты решаешь.
1
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 15
11.04.2018, 10:02  [ТС] 7
Задача спарсить все ссылки с одного блока по селектору id. После записать их в массив.
0
395 / 314 / 53
Регистрация: 14.08.2014
Сообщений: 1,010
11.04.2018, 16:29 8
Veb_valenok, вообще изи!
К проекту нужно будет подключить библиотеку http://html-agility-pack.net/
VB.NET
1
2
3
4
5
6
7
        Dim doc As New HtmlDocument
        doc.LoadHtml(htmlPageSource)
        Dim links = doc.DocumentNode.SelectNodes("//div[@class='gs_left_column']//a[@class='gs_result_i_t_name o']")
 
        For Each a As HtmlNode In links
            '---
        Next
Это пример получения ссылок по классу.
По id сделаешь по аналогии, ибо в вышеприведенном тобой примере в атрибутах нет id, а я не телепат и понятия не имею что там у тебя за id.


Вот так (если добавить этот код в цикл), можно записать ссылки в файл
VB.NET
1
2
3
4
5
            Try
                IO.File.WriteAllText("result.txt", a.Attributes("href").Value)
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
Опять же, по аналогии можно порыться в атрибутах а и сохранять только то, что нужно.
Если что-то не ясно, спрашивай, дополню, если сам знаю)) Я вообще не программист, так, балуюсь периодически.
0
0 / 0 / 0
Регистрация: 05.10.2015
Сообщений: 15
13.04.2018, 15:29  [ТС] 9
Ссылки без id, а вот блок в котором они находятся имеет селектор об этом я ранее писал. <div id="searchResults" class="gs_left_column">...</div>
0
13.04.2018, 15:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.04.2018, 15:29
Помогаю со студенческими работами здесь

Ссылки на все страницы на главной
Добрый День! У меня доска объявлений .... 100 страниц ... на главной внизу сразу ссылки на 100...

Получить все ссылки со страницы сайта
Здравствуйте ув. форумчане! Подскажите как получить все ссылки со страницы сайта (CppWebbrowser)....

Как вырезать все ссылки со страницы?
подсажите вытащил се сылки со страницы вот так $buf=implode('',file($url)); // получем...

Вызов блока из одного скрипта на все остальные страницы HTML
Здравствуйте! Подскажите пожалуйста как вызвать кусок кода на все страницы сайта. Возможно вопрос...

Получить все ссылки с веб-страницы по webbrowser
Как получить абсолютные адреса страниц ссылок с загруженного адреса ?

Парсить ссылки
Ранее изучал и работал с VB 6. Скажите пожалуйста современный VB.net позволяет проверить ссылки...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru