Я собираюсь ползти газету, статью. Однако я не хочу рекламу. Я хочу применить блок рекламы поверх моего запроса (аналогично просмотру веб-страниц вручную с включенным блоком рекламы, а затем сохранить страницу HTML без рекламы)
DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxy);
CloseableHttpClient httpClient = HttpClientBuilder.create()
.setDefaultRequestConfig(this.config)
.setRoutePlanner(routePlanner)
.setSSLContext(sslContext)
.setConnectionManager(cm)
.setConnectionManagerShared(true)
.build();
HttpGet getRequest = new HttpGet(url);
getRequest.setHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11");
try (CloseableHttpResponse response = httpClient.execute(getRequest)) {
String headerContentType = response.getFirstHeader("Content-Type").getValue();
if (headerContentType != null && headerContentType.contains("text/html")) {
HttpEntity entity = response.getEntity();
if (entity != null) {
content = EntityUtils.toString(entity, "utf-8");
EntityUtils.consume(entity);
}
} else {
// log fail event here
}
}
Теперь у меня String content
как HTML содержание. Я анализирую содержимое с org.jsoup.Jsoup
.
Document contentDoc = Jsoup.parse(
content
);
String contentstr = contentDoc.body()
.getElementsByTag("p")
.text();