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

2024-10-04 17:26:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我要从一个新闻网站上得到 我必须得到大约1k的网站内容

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

这个网站发布每一条最新的新闻,新的网址是在id中加1

readnews.php?id=16727

所以,下一个网址是

readnews.php?id=16728

问题是我想把文本从16000刮到17000

如何用Java实现

Jsoup公司?或者其他网络爬虫?在

谢谢


Tags: 文本comidhttp内容网站链接www
3条回答

Jsoup是一个HTML解析器,可以帮助您抓取和解析HTML页面。如果您已经知道站点导航的模式,那么Jsoup是很好的。但是如果你想抓取网站的所有内容,你最好利用一些爬虫框架,比如Scrapy或{a2}。在

首先,你需要确定你需要从页面中删除什么。主题、作者、内容。使用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控制台中运行以上代码,得到的结果如下:

^{pr2}$

看看StormCrawler。实现您描述的内容应该非常简单,大多数组件都是用Java实现的。您可以增量生成url列表,并将其传递给MemorySpout,或者将它们放入一个文件中并使用FileSpout。它可以在apachestorm集群上以分布式模式运行,但是由于您只处理一个站点,所以可伸缩性并不是真正的问题,您可以在本地模式下运行它。在

另外,Apache Nutch也可以是一个选项,但您可能会发现StormCrawler使用起来更简单,也更易于定制。在

您也为它添加了python。看beautifulsoup这里:https://www.crummy.com/software/BeautifulSoup/bs4/doc/

相关问题 更多 >

    热门问题