Вопрос

Я хочу вытащить весь файл исходного кода HTML с веб -сайта в Java (или Python или PHP, если на этих языках проще на этих языках). Я хочу только просмотреть HTML и сканировать его с помощью нескольких методов- не редактировать и не манипулировать им каким-либо образом, и я действительно хочу, чтобы я не написал его в новый файл, если нет другого пути. Есть ли какие -нибудь классы библиотеки или методы, которые это делают? Если нет, есть ли способ сделать это?

Это было полезно?

Решение

В Java:

URL url = new URL("http://stackoverflow.com");
URLConnection connection = new URLConnection(url);
InputStream stream = url.openConnection();
// ... read stream like any file stream

Этот код хорош для целей сценариев и внутреннего использования. Я бы посоветовался против использования его для производства. Он не обрабатывает тайм -ауты и неудачные соединения.

Я бы порекомендовал использовать Httpclient Library Для производства. Он поддерживает аутентификацию, обработку перенаправления, резьбу, объединение и т. Д.

Другие советы

В Python:

import urllib
# Get a file-like object for the Python Web site's home page.
f = urllib.urlopen("http://www.python.org")
# Read from the object, storing the page's contents in 's'.
s = f.read()
f.close()

Посмотри пожалуйста Обработка Python и HTML Больше подробностей.

Может быть wget или же скручивание от командной строки, чтобы принести дерево сайта в локальное дерево каталогов. Затем сделайте свое сканирование (на Java, Python, что угодно), используя локальную копию. Это должно быть проще, чем реализовать все скучные вещи, такие как обработка ошибок, анализ аргументов и т. Д.

Если вы хотите получить все страницы на сайте, Wget и Curl не знают, как собирать ссылки со страниц HTML. Альтернативой является использование с открытым исходным кодом..

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top