я собираюсь получить текст с сайта новостей, который
я должен обойти контент сайта 1k
ссылка внизу:
http://www.dcfever.com/news/readnews.php?id=16727
на этом сайте публикуются все последние новости, и при добавлении 1 в id формируется новый URL
readnews.php? ID =16727
поэтому следующий URL будет
readnews.php? ID =16728
вопрос в том, что я хотел бы очистить текст с 16000 до 17000
как реализовать в Java
Jsoup? или другой веб-сканер?
Спасибо
Вы отметили это python
тоже. смотреть на beautifulsoup
Вот: https://www.crummy.com/software/BeautifulSoup/bs4/doc/
Jsoup — это анализатор HTML, который может помочь вам разобрать и проанализировать HTML-страницу. Если вы уже знаете схему навигации по сайту, Jsoup хорош. Но если вы хотите сканировать все содержимое веб-сайта, вам лучше использовать некоторые рамки, такие как Scrapy или же Crawler4j.
Сначала вам нужно определить, что вам нужно соскрести со страницы. например. тема, автор, содержание. Использование css selector для извлечения того, что вы хотите, например, subject:
@Grab('org.jsoup:jsoup:1.9.2')
org.jsoup.nodes.Document doc = org.jsoup.Jsoup.connect("http://www.dcfever.com/news/readnews.php?id=16727").get();
String subject = doc.select("body > div.site_wrapper > div.canvas > div:nth-child(5) > div > div.col-md-left.col-lg-left.read_article > h1").text();
Вы можете запустить приведенный выше код в Groovy консоли и получите результат, как показано ниже:
世界首部中片幅無反相機 Hasselblad X1D 登場
Посмотри на StormCrawler. Реализация того, что вы описываете, должна быть очень простой, и большинство компонентов реализовано на Java. Вы можете сгенерировать список URL-адресов постепенно и передать его, например, в MemorySpout или поместить их в файл и использовать FileSpout. Он может работать в распределенном режиме в кластере Apache Storm, но поскольку вы обрабатываете только один сайт, масштабируемость на самом деле не проблема, и вы можете запустить его в локальном режиме.
альтернативно Apache Nutch также может быть вариантом, но вы, вероятно, найдете StormCrawler немного более простым в использовании и более простым в настройке.