(网络爬网)如何从新闻网站获取新闻段落的文字



我将从新闻网站获取文字我必须获取大约1K网站内容

链接在下面:http://www.dcfever.com/news/readnews.php?id=16727

本网站发布了每个最新新闻,新的URL在ID中添加1

中形成了1个

readnews.php?id = 16727

所以,下一个URL将为

readnews.php?id = 16728

问题是我想从16000到17000

刮擦文本

如何在Java中实施

jsoup?或其他Web爬网?

谢谢

您也将其标记为python。在此处查看beautifulsoup:https://www.crummy.com/software/beautifulsoup/bs4/doc/

jsoup是一个HTML解析器,可以帮助您刮擦和解析HTML页面。如果您已经知道站点导航的模式,则JSOUP很好。但是,如果您想爬网站的所有内容,则更好地利用一些爬网框架,例如scrapy或crawler4j。

首先,您需要从页面上确定需要刮擦的内容。例如。主题,作者,内容。使用CSS选择器提取您想要的内容,例如:

@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 Console中以上代码上方运行,并将结果如下:

世界首部中片幅無反相機 Hasselblad X1D 登場

看看Stormcrawler。实施您所描述的内容应该非常简单,并且大多数组件在Java中实现。您可以逐步生成URL列表,并将其传递给MemorySpout或将它们放入文件中并使用FilePout。它可以在Apache Storm群集上以分布式模式运行,但是由于您仅处理一个站点,因此并不是真正的问题,并且可以在本地模式下运行它。

另外也可以选择Apache Nutch,但是您可能会发现Stormcrawler使用更简单,更易于自定义。

最新更新