Я использую методы Jsoup's parseBodyFragment()
и parse()
для работы с блоками кода, состоящими из скриптов, нот и тегов стиля. Цель состоит в том, чтобы не очищать их - только до select()
, анализировать и выводить их. Часть select()
работает очень хорошо.Как остановить Jsoup от параметров URL-адреса кодировки?
Однако проблема заключается в том, что он автоматически кодирует параметры url атрибутов src. Таким образом, когда входной сигнал заключается в следующем:
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://something.orother.com/i/cnt?txn_id=123&p_id=123"/>
</noscript>
я в конечном итоге с этим, вернулся из Jsoup, через outerHTML()
метода:
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://something.orother.com/i/cnt?txn_id=123&p_id=123"/>
</noscript>
Проблема является стандартом амперсанд (&) в параметре URL-адрес кодируется и выводится как &
. Есть ли способ отключить это?
Я ищу способ получить html выбранного элемента без изменений. Благодаря!
Обновление (23.02.2016): Уточненная проблема. Также была найдена проблема в репозитории Github, описывающая проблему: https://github.com/jhy/jsoup/issues/372. Похоже, это может быть невозможно.
вы можете получить pagedocument, используя синтаксический анализ, а затем получить контент, используя select. – thanga
@thanga thanks - Я должен был быть более ясным; Я могу получить его с помощью select - проблема возникает после его получения. Кажется, Jsoup изменяет html без возможности получить исходный код. Я нашел проблему в репозитории Github, описывая ее, поэтому я думаю, что это может быть невозможно. Я обновлю вопрос, чтобы включить ссылку на эту проблему. –