Проблема с парсером: как переделать ссылки11.02.2022, 16:10. Показов 441. Ответов 2
Метки нет (Все метки)
Делаю парсер сайтов. Через curl. В итоге, в адресной строке браузера получается mysite.ru/parser.php, а в ссылках на спарсенной странице - anothersite.com/... . Получается, при переходе по ссылкам я буду попадать именно на спарсенный сайт, а не на свой. А как сделать так, чтобы ссылки тоже заменялись на "мои"? Т.е. чтобы вместо
anothersite.com/link.html было mysite.com/link.html ? Но, чтобы парсер при этом открывал ссылку anothersite.com/link.html. Насколько я понял, curl такой замены самостоятельно не делает. Настроек подобных я что-то не нашел. Т.е. выходит, выход единственный - заменять ссылки вручную (регулярными выражениями, к примеру)? Но если они формируются средствами JS, тогда как? И еще, пока тестирую на протоколе НТТР. С HTTPS проблем не возникнет? Добавлено через 4 часа 46 минут Или, может добавить на страницу JS-скрипт, который будет перехватывать переход по ссылкам, заменяя домен на mysite.ru. Пока, правда, не пойму, как делать такой перехват. Назначить дополнительные обработчики кликов?
0
|
|
| 11.02.2022, 16:10 | |
|
Ответы с готовыми решениями:
2
Проблема с парсером Проблема с парсером
|
|
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
|
||||||
| 11.02.2022, 16:29 | ||||||
|
Я бы наверное на JS делал. Если на JQuery, то что-то вроде:
0
|
||||||
| 11.02.2022, 21:18 [ТС] | |||||||
|
Думаю примерно такой алгоритм действий (на сервере):
1. Вставляем в раздел <head>...</head> в самое начало тег
3. Открываем сессию сервера. Посылаем QOOKIES в браузер и сохраняем их в сессии сервера. 4. Отправляем получившуюся строку (п.1, 2) в браузер. При этом, если от браузера вскоре пойдут запросы на скачивание ресурсов, то сервер их узнает и перенаправит в curl. И ресурсы корректно скачаются. Т.е. со статическими ссылками проблем не должно быть. Однако, остается открытым вопрос: как быть, если ссылка формируется динамически, уже на клиенте? Да еще не сразу, а через время. Можно, конечно, просмотреть DOM и там уже средствами JS заменить anothersite.com в ссылках на mysite.ru. Но ведь ссылка может формироваться динамически, в том числе, и как результат какого-то события. Например, после клика где-то. Т.е. уже после загрузки страницы и отработки скрипта, заменяющего доменное имя. Добавлено через 11 минут Добавлено через 21 минуту В итоге, вначале браузер все же попытается вначале скачать ресурс с anothersite.com (согласно командам ранее установленных обработчиков). А уже потом сработает наш (последний) обработчик, который отправит запрос на скачивание того же ресурса на mysite.ru. Т.е. получается как-то не очень. И не универсально.
0
|
|||||||
| 11.02.2022, 21:18 | |
|
Помогаю со студенческими работами здесь
3
Проблема с парсером Проблема с парсером
Как работать с парсером? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
|