3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
|||||||||||
1 | |||||||||||
.NET 4.x Парсер сайта погоды Gismeteo.ru04.06.2018, 20:39. Показов 17478. Ответов 12
Всем доброго времени суток. Столкнулся с проблемой и честно говоря не могу понять в чём причина. Стоит задача вытянуть с главной страницы сайта Gismeteo.ru погоду на завтра для популярных городов. Начал делать с использованием библиотеки Anglesharp но столкнулся с следующей проблемой если запрос идёт без условий всё ок, если ставишь условия, то результат null. Нагуглил уже миллион запросов начиная от LINQ заканчивая DOM и всё равно не вижу в чём проблема.
Код имеет следующий вид
Жду вашей помощи, спасибо.
0
|
04.06.2018, 20:39 | |
Ответы с готовыми решениями:
12
Парсинг погоды с Gismeteo Парсер погоды вызывает вылет отладчика Парсер данных с сайта Как написать парсер фотографий с сайта |
Администратор
|
|||||||||||
04.06.2018, 21:05 | 2 | ||||||||||
kiwokr, для приведенного кода нужно делать так
1
|
182 / 145 / 94
Регистрация: 30.07.2013
Сообщений: 579
|
|
04.06.2018, 21:46 | 3 |
1
|
3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
|
04.06.2018, 22:02 [ТС] | 4 |
у меня тоже работает Т.е. из-за использования какого-то скрипта определяющего наиболее популярные города блокируется LINQ запрос ?
К сожалению нет
0
|
3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
|
04.06.2018, 22:10 [ТС] | 6 |
Не очень понимаю. Это же у меня просто текст, который можно например регулярными выражениями распарсить (но это не кошерно, как по мне). Т.е. LINQ должен же просто проверить значение class у тега a и выбрать те которые соответствуют некоторому введенному значению, разве нет? Можете как-то объяснить в чем причина такой ситуации или хотя бы направление в гугл указать
0
|
Администратор
|
|
05.06.2018, 01:51 | 7 |
Да. Именно это он и делает. Но раз ничего не возвращается значит элементов удовлетворяющих условию нет.
Думаю тебе нужно изучить CSS селекторы.
0
|
3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
|
05.06.2018, 10:24 [ТС] | 8 |
Почему тогда не находит ни 1 значения с условием item => item.ClassName != null ? Про CSS я более менее осведомлен, но прочитаю ещё разок, спасибо. Но проблему я так и не понял,
что вы имели ввиду ? в документе целиком вся страница, заливал в тхт проверял всё на месте и отличий нету. Какая-то борода с Anglesharp но я не могу найти тех доки нормальные его, либо поверхностные какие-то сведения, либо вообще просто описание, скоро наверное придется копаться по репозиторию и искать исходники этих методов и смотреть почему такие ситуации могут возникать...
0
|
12504 / 8688 / 1310
Регистрация: 21.01.2016
Сообщений: 32,637
|
|
05.06.2018, 11:37 | 9 |
0
|
3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
|
05.06.2018, 11:47 [ТС] | 10 |
Потому, что в задании требуется написать парсер главной страницы, да и в апи нету списка этих популярных городов.
Добавлено через 3 минуты Usaga, вы лучше объясните мне, что за бред с Anglesharp-ом? Почему он не вытягивает данные? В чём собственно ошибка? С точки зрения LINQ всё правильно, если я правильно понимаю логику парсера, то тоже всё должно работать, но оно не работает...
0
|
12504 / 8688 / 1310
Регистрация: 21.01.2016
Сообщений: 32,637
|
|
05.06.2018, 11:52 | 11 |
kiwokr, никакого бреда. Нужно верный селектор описать. И нужно не забывать, что то, что вы видите в браузере может сильно отличаться от того, что видит AngleSharp, ибо в браузере может крутиться JS-скрипт, который может менять DOM. AngleSharp никаких скриптов не исполняет (это парсер).
1
|
3 / 3 / 1
Регистрация: 01.07.2016
Сообщений: 59
|
||||||
05.06.2018, 12:03 [ТС] | 12 | |||||
Действительно я затупок...чем вчера смотрел не понятно...
0
|
Администратор
|
|
05.06.2018, 12:26 | 13 |
Небольшая поправка. AngleSharp умеет выполнять скрипты, если его настроить соответвующим образом. Насколько хорошо он это делает сказать не могу. Это все таки парсер, а не полноценный браузерный движок.
1
|
05.06.2018, 12:26 | |
05.06.2018, 12:26 | |
Помогаю со студенческими работами здесь
13
html парсер (как обойти защиту сайта) Парсер сайта, копирование нескольких переменных по одному условию Парсер сайта с подгружаемой информацией Парсер ссылок сайта - ошибка 404 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |