做通用爬虫,现在的正文提取已经很稳了 95%以上的正文提取率可以实现. (通用提取和 xpaht,css 等选择器)
但是为了更精确,对某域名或类型网站下,进行随机抽取 10-20 个网页。
用上述正文抽取的 content, 和原网页 html.
进行学习,然后推测出 xpath 之类。生成 xpath 配置项.
目标:以 95%的成功率实现 99.99%的成功率.
老哥们有好的思路么?@binux
参考:
1
binux 2017-12-22 20:57:44 +08:00 via Android 4
机器学习个蛋啊,选择器总共能用的特征就 class,ID,属性那么几个,多个页面比对,组合一下选个最好的就完了
|
3
droiz 2017-12-22 22:15:10 +08:00
这年头怎么什么都机器学习啊。
|
4
ihciah 2017-12-22 22:23:50 +08:00
别喷机器学习啊,都是工具,有用就行,多搞点数据即使直接丢特征进 svm 也比手动写规则省事,精确。
除了一楼提到的几个特征,渲染后对应的位置、面积、长宽比,还有单词 /字符数之类的,应该也是很好的辅助。 |
5
geofvt 2017-12-22 23:21:08 +08:00
据我观察,大部分新闻网站,一个标签下有大段文字,或者有很多样式一致(指字体)的标签包裹小段文字
|
6
cross4future 2017-12-22 23:24:25 +08:00 1
html 头部尾部清洗+文本密度
以前我们公司是这么做的 |
7
mogging 2017-12-23 08:26:09 +08:00 via iPhone 1
xpath 处理 js 还是很麻烦
|
8
ZSeptember 2017-12-23 10:10:09 +08:00 via Android
前公司做过用文本密度,准确率 95 以上。gayhub 上有个 node 的实现,准确率很高,但是性能稍微差点,要用 JSdom 渲染一遍。
|
9
scriptB0y 2017-12-23 11:09:26 +08:00
目前我用过最好的是印象笔记的 Chrome 剪藏插件。。。
话说很多网站根本不靠谱的。class id 属性不太好使(参见极端例子: https://www.kawabangga.com/posts/2240 )文本密度好一些 |
10
mains OP @scriptB0y 目前我的比印象笔记的 Chrome 剪藏插件识别率更好。因为我是组合通用抓取和 xpath 规则等。
|
11
mains OP 现在是可以根据文本内容自动推算出正文区域,设置 xpath 是更精确一点,不设置也行。(正常提取和 headless 等)
也设计了可视化的 xpath 提取工具,然后写入配置项,一个站 20s 左右。 现在就想人工介入的更少。 |
13
fish267 2017-12-23 14:20:50 +08:00
楼主有没有写过 React 网站的爬虫, 感觉维护特别费劲
|