Java
Чем парсить сайты где есть javascrip?
Программирую на java, хотел написать парсер, взял json, но только он не парсит элементы которые создаются javascript, как быть?
Есть два пути
- headless-браузеры, браузерные движки. изучай Selenium, Chrome DevTools Protocol
- перехватить запросы (которые и отправляет JS) и повторить своим кодом. Как правило это HTTP-запросы через XMLHttpRequest или любую из его оберток (jQuery AJAX и т. д.), реже через Fetch API, или вообще не HTTP запросы через WebSocket. Для перехвата запросов используются разные средства работающие по принципу MITM, например Fiddler, или можно к браузеру написать расширение сниффер.
А при чем тут JSON?
- headless-браузеры, браузерные движки. изучай Selenium, Chrome DevTools Protocol
- перехватить запросы (которые и отправляет JS) и повторить своим кодом. Как правило это HTTP-запросы через XMLHttpRequest или любую из его оберток (jQuery AJAX и т. д.), реже через Fetch API, или вообще не HTTP запросы через WebSocket. Для перехвата запросов используются разные средства работающие по принципу MITM, например Fiddler, или можно к браузеру написать расширение сниффер.
А при чем тут JSON?
Александр
просто когда гуглил как парсить сайты на java, почти всегда говорилось что надо использовать json для этого
Александр
а я только начал это изучать, поэтому и задаю вопросы, допустим глупые, а вы сразу стали профи? и зачем сразу оскорблять? лично я ответил грубостью на грубость, ваши знания в этой теме я не оценивал, и фамилия моя русская как и я сам
Java для этого не лучшим образом подходит, всё-равно придется писать обёртки. На помощь приходит NodeJS, приложение которого можно вполне себе вызвать из консоли, любой пакет NodeJS проекта можно сделать CLI инструментом. Далее, любой сайт открываемый браузером, можно открыть виртуальным браузером и запустить на выполнение. Есть принцип работы с Headless Chrome, например через puppeteer, где вы запускаете SPA сайт на исполнение, программно делаете на сайте действия (авторизация, нажатие кнопок) и затем просто сканируете DOM на результат, можно скриншотить, можно выводить как PDF и тестировать. Но для этого нет смысла вообще брать Java, есть смысл всё писать на NodeJS, но многому придется доучиваться. Посмотрите есть ли аналоги Headless Chrome для среды Java, может и есть такое уже.
Более продвинутый парсер приобретать, как правило в бесплатном доступе их нету...
Но если вам на долго, то возможно имеет смысл..
Но если вам на долго, то возможно имеет смысл..
Похожие вопросы
- Вот, чуть погодя, понял, что не все сайты предоставляют API, отсюда вопрос: как правильно парсить сайты? ¦|¦ JAVA
- Нужно ли хорошо знать математику Java программисту? На разных сайтах пишут по разному, одни пишут что матан только для..
- Стоит ли изучать Java на сайте: javarush ( Если в джаве полный ноль ) ? Есть ли тут те кто изучал на том сайте?
- По каким книгам, сайтам, и вообще где обучаться программированию с нуля? (14 лет) английский знаю отлично
- С Чего лучше всего начать учить JAVA И с каких сайтов начать обучение
- напишите пожалуйста сайт на котором можно зароботать реальные деньги без вклада
- написать сценарий JavaScrip. помогите)
- Что означает слово "парсить" например при появлении сообщения - "Кто-то с вашего IP пытается парсить..." и т.д.
- Каr найти число 'ПИ". Нужна формула! тоесть пример на языке программирования C++ или C# или pascal или php или javascrip