HtmlSucker 0.0.1 发布,惊恐 —— 红薯又写代码了!!

oschina
 oschina
发布于 2018年01月30日
收藏 20

全体 OSChina 官方程序员都吓屎了,因为红薯又写代码了。这次他撸了个 HtmlSucker ,这个名字一听就很猥琐有没有。而且其实也没什么卵用,无非就是在不知道 HTML 页面规则的情况下,从一个 HTML 网页中提取文章的正文信息。用来干嘛呢? 反正肯定跟爬虫有关。

听说第一个版本还很弱智,原理是计算最大文本节点的方式来获取正文信息。(就这也好意思发布一个项目,难道欺负我朝无人吗?)

请大家前往 https://gitee.com/ld/HtmlSucker 吐槽!

Maven:

<dependency>
    <groupId>net.oschina.htmlsucker</groupId>
    <artifactId>HtmlSucker</artifactId>
    <version>0.0.1</version>
</dependency>

示例代码:

public static void main(String[] args) throws IOException {
    String url = "https://www.oschina.net/news/92798/micro-match-1-0-1-released";
    System.out.println(HtmlSucker.parse(url, 20000));
}
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:HtmlSucker 0.0.1 发布,惊恐 —— 红薯又写代码了!!
加载中

精彩评论

宇润
宇润
红薯:去财务那结一下工资,过完年不用来了
巴拉迪维
巴拉迪维
必须坚决反对老板写代码,因为这几天我不停被他的代码坑到想屎,哼!坚决反对,差评,负分!
许雪里
许雪里
XXL携#xxl-job##xxl-mq##xxl-api##xxl-conf##xxl-excel##xxl-crawler#……等十余个项目前来祝贺。并表示佩服 :thumbsup:
eechen
eechen
在知道页面规则的情况下,原生PHP获取网页标题和正文是很简答的事哟.
就拿当前页面来说,PHP就是几句代码的事:
<?php
$doc = new DOMDocument();
@$doc->loadHTML(file_get_contents('https://www.oschina.net/news/92898/htmlsucker-0-0-1'));
$nodes = $doc->getElementsByTagName('title');
echo $nodes->item(0)->nodeValue . "\n";
$xpath = new DOMXPath($doc);
// 用Firefox查看HTML页面规则,复制XPath表达式
$entries = $xpath->query('/html/body/section/section/div[ 2 ]/div[ 1 ]/div[ 1 ]/div[ 1 ]/div[ 3 ]');
foreach ($entries as $entry) { echo $entry->nodeValue . "\n"; }
霡霂
霡霂
还活着吗,赶紧删库跑路吧。

最新评论(57

Ryan-瑞恩
Ryan-瑞恩

引用来自“不是小白”的评论

等晚上@红薯 是不是要出一个BUG修复版本

引用来自“Ryan-瑞恩”的评论

更新频率就是这么高。。。。

引用来自“不是小白”的评论

欢哥,写的有啥项目没

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 没,,水平有限

引用来自“不是小白”的评论

一起搞一个吧

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 可以,,搞啥,你带头。

引用来自“不是小白”的评论

回复@Ryan-瑞恩 : 你说搞啥就搞啥

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 你是我大哥,你说搞点啥。。。

引用来自“不是小白”的评论

回复@Ryan-瑞恩 : 搞瞎猫
回复@不是小白 : 说正经的,,,搞点啥。
开源中国首席一失足成千古风流人物以稀为贵
开源中国首席一失足成千古风流人物以稀为贵

引用来自“不是小白”的评论

等晚上@红薯 是不是要出一个BUG修复版本

引用来自“Ryan-瑞恩”的评论

更新频率就是这么高。。。。

引用来自“不是小白”的评论

欢哥,写的有啥项目没

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 没,,水平有限

引用来自“不是小白”的评论

一起搞一个吧

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 可以,,搞啥,你带头。

引用来自“不是小白”的评论

回复@Ryan-瑞恩 : 你说搞啥就搞啥

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 你是我大哥,你说搞点啥。。。

引用来自“不是小白”的评论

回复@Ryan-瑞恩 : 搞瞎猫
红薯是来搞笑的~
writeademo
writeademo
sucker 吸管的意思
小马视频
小马视频
看来以后只要从开源中国抓文章就够了(^_-)
愚_者
愚_者
已经看到0.0.2的tag了- -
GIFCOOL
GIFCOOL
默默路过,功能可以,但是名称,好象有点不雅
不是小白
不是小白

引用来自“不是小白”的评论

等晚上@红薯 是不是要出一个BUG修复版本

引用来自“Ryan-瑞恩”的评论

更新频率就是这么高。。。。

引用来自“不是小白”的评论

欢哥,写的有啥项目没

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 没,,水平有限

引用来自“不是小白”的评论

一起搞一个吧

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 可以,,搞啥,你带头。

引用来自“不是小白”的评论

回复@Ryan-瑞恩 : 你说搞啥就搞啥

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 你是我大哥,你说搞点啥。。。
回复@Ryan-瑞恩 : 搞瞎猫
Ryan-瑞恩
Ryan-瑞恩

引用来自“不是小白”的评论

等晚上@红薯 是不是要出一个BUG修复版本

引用来自“Ryan-瑞恩”的评论

更新频率就是这么高。。。。

引用来自“不是小白”的评论

欢哥,写的有啥项目没

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 没,,水平有限

引用来自“不是小白”的评论

一起搞一个吧

引用来自“Ryan-瑞恩”的评论

回复@不是小白 : 可以,,搞啥,你带头。

引用来自“不是小白”的评论

回复@Ryan-瑞恩 : 你说搞啥就搞啥
回复@不是小白 : 你是我大哥,你说搞点啥。。。
开源中国首席罗纳尔多
开源中国首席罗纳尔多

引用来自“eechen”的评论

在知道页面规则的情况下,原生PHP获取网页标题和正文是很简答的事哟.
就拿当前页面来说,PHP就是几句代码的事:
<?php
$doc = new DOMDocument();
@$doc->loadHTML(file_get_contents('https://www.oschina.net/news/92898/htmlsucker-0-0-1'));
$nodes = $doc->getElementsByTagName('title');
echo $nodes->item(0)->nodeValue . "\n";
$xpath = new DOMXPath($doc);
// 用Firefox查看HTML页面规则,复制XPath表达式
$entries = $xpath->query('/html/body/section/section/div[ 2 ]/div[ 1 ]/div[ 1 ]/div[ 1 ]/div[ 3 ]');
foreach ($entries as $entry) { echo $entry->nodeValue . "\n"; }

引用来自“开源中国首席深夜司机”的评论

大神,你这个是php官方自带的功能吗?还是要引入其他库?

引用来自“eechen”的评论

这些都是PHP内置的功能,PHP手册里都有介绍.
http://php.net/DOMDocument
http://php.net/DOMXPath
PHP内置DOMDocument和DOMXPath,自带解析HTML的能力,使用XPath表达式获取节点内容还是很轻松的,前提是你要熟悉XPath表达式,就像你在前端使用jQuery得熟悉jQuery的选择器表达式一样.
Firefox/Chrome开发者工具里选中元素可以复制XPath.
http://www.runoob.com/xpath/xpath-syntax.html
回复@eechen : 请问php是怎么做微服务和分布式的?还有大数据?
返回顶部
顶部