powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / apache HttpClient
7 сообщений из 7, страница 1 из 1
apache HttpClient
    #37928398
DuftPunk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужен пример , описание , как при помощи apache HttpClient перебирать странички на сайте.переходить по страничкам и заходить внутрь описаний , статей и тд.
...
Рейтинг: 0 / 0
apache HttpClient
    #37928427
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DuftPunkНужен пример , описание , как при помощи apache HttpClient перебирать странички на сайте.переходить по страничкам и заходить внутрь описаний , статей и тд.
Искать так
https://www.google.com/search?q=java+web+crawler
Почему обязательно HttpClient ?
И пора абстрагироваться от терминов "страничек", "переходить" и "заходить внутрь". Это всё действия пользователя в браузере.
ПО работает по протоколам HTML и HTTP. Вот и работать вам нужно в терминах этих протоколов.
...
Рейтинг: 0 / 0
apache HttpClient
    #37928505
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что то я смотрю популярна стала эта тема:)
И что вы хотите увидеть "в примерах со страничками.." никак не пойму. Тут сама идея простая как грабли. Посылаешь http запрос, получаешь респонс, проверяешь код ответа, парсишь, вытягиваешь инфу, решаешь куда посылать дальше, и так по кругу. Волшебной кнопки нет и не будет! Правильно уже сказали, если понимаешь html и http - то тут и спрашивать нечего
...
Рейтинг: 0 / 0
apache HttpClient
    #37928578
DuftPunk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я новичок в Java , попробую описать так
Я получаю страницу,сохраняю её , выбираю ссылки на другие страницы,сохраняю ссылки в txt файле но как потом по этим ссылкам из txt ходить по страничкам я не знаю.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
private static final String Url = "http://";
	private static String S;
	private static String LinksCafe;

	public static void main(String[] args) throws IOException, XPatherException {

		HttpClient httpClient = new DefaultHttpClient(); //Создаем объект класса
		HttpGet httpGet = new HttpGet(Url);// загружаем
		HttpResponse response = httpClient.execute(httpGet); // получаем страницу
		System.out.println(response.getStatusLine());//выводим сообшение о получение страницы
		HttpEntity entity = response.getEntity(); // входящие данные
		if (entity != null) {
			InputStream instream = entity.getContent();
			try {
				FileWriter writer = new FileWriter("LA \\la \\inputLink.html");
				BufferedReader reader = new BufferedReader(new InputStreamReader(instream));
				while ((S = reader.readLine()) != null) {
					System.out.println(S + "\n");
					writer.write(S);
				}
			} catch (RuntimeException ex) {
				httpGet.abort();
				throw ex;
			} finally {
				instream.close();
			}
		}
		//получаю ссылки на страницы с описанием
		HtmlCleaner cleaner = new HtmlCleaner();
		TagNode html = cleaner.clean(new File("La\\la\\inputLink.html"));
		Object[] tags = html.evaluateXPath("//div[@class='ns_object_title']/a");
		FileWriter writer1 = new FileWriter("E:\\Java\\Projects\\Project Parser\\Parser_ver.1\\inputLinkstootherPages.txt");
		for (Object tag : tags) {
			TagNode aTag = (TagNode) tag;
			String Href = aTag.getAttributeByName("href").trim();
			System.out.println(Href);
			writer1.write(Href+"\n");
		}
		writer1.flush();
		writer1.close();

		//rulerblock  ns_object_title
	}


Помогите пожалуйста.
...
Рейтинг: 0 / 0
apache HttpClient
    #37928580
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DuftPunkсохраняю ссылки в txt файле но как потом по этим ссылкам из txt ходить по страничкам я не знаю.
А вы сохраняйте, например, в массив. А лучше в ArrayList. А потом циклом по списку. И ещё раз
Нет никаких "ходить по страничкам". Есть "отправить запрос серверу", "получить ответ сервера", "распарсить ответ сервера".
...
Рейтинг: 0 / 0
apache HttpClient
    #37928598
DuftPunk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо,сейчас попробую.
...
Рейтинг: 0 / 0
apache HttpClient
    #37928696
DuftPunk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Переделал без сохранения в файл.
Подскажите пожалуйсто цикл (рефакторинг) что бы из ссылок в arraylist подключаться и получать данные
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
public class Parser {
	private static final String Url = "http://111";
	public static void main(String[] args) throws IOException, XPatherException {

		HttpClient httpClient = new DefaultHttpClient(); //Создаем объект класса
		HttpGet httpGet = new HttpGet(Url);// загружаем
		HttpResponse response = httpClient.execute(httpGet); // получаем страницу
		System.out.println(response.getStatusLine());//выводим сообшение о получение страницы
		HttpEntity entity = response.getEntity(); // входящие данные
		if (entity != null) {
			InputStream instream = entity.getContent();
			try {
				HtmlCleaner cleaner = new HtmlCleaner();
				TagNode html = cleaner.clean(instream);
				Object[] tags = html.evaluateXPath("//div[@class='ns_object_title']/a");
				ArrayList al = new ArrayList();
				for (Object tag : tags) {
					TagNode aTag = (TagNode) tag;
					String Href = aTag.getAttributeByName("href").trim();
					al.add(Href.trim());
					System.out.println(al.toString()+"\n\r");
				}

			} catch (RuntimeException ex) {
				httpGet.abort();
				throw ex;
			} finally {
				instream.close();
			}
		}
	}
	}
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / apache HttpClient
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]