列表页解析
列表定位
- 同性质子元素排序
- 元素面积排序
- 用户确认区域后元素xpath并存储
分页按钮定位
- 不包含子元素且文字包含“下一页,点击查看更多”等文字的标签。
- 调用dom.click()方法自动进入下一页,或者提取链接,存储xpath
列表项解析
- 标题解析:列表项中字体权重最大的标签为标题。用户确认后存储xpath。
- 详情链接提取:标题往上找到a标签。解析后存储xpath
- 封面解析:列表项中面积最大的图片。存储xpath
详情页解析
内容识别
- 标题:标题使用列表项的标题即可。
- 详情:文本类子元素最多的元素,且页面面积占用最大。存储xpath。
- 时间解析:正则匹配时间即可,匹配到之后尝试缓存xpath。
- 来源解析:正则匹配即可,同上。
后处理
- 详情:希望保留详情的一些排版,比如代码块,高亮区域等。将HTML转为Markdown即可。在使用时转回HTML显示。
- 时间:使用dateparser将时间转为ISO8601标准时间或者时间戳即可。
- 存储:建议存储至MongoDB,无需提前定义表结构。
上述方案兼容90%的标准网站,比如拉钩,京东,segmentfault,v2ex,58同城等等。
DEMO已经开发完毕,交流讨论或者商业合作请发站内信。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。