现在的位置: 首页 > 综合 > 正文

关于web页面清洗的一些记录,杂乱、待梳理和深入

2012年08月14日 ⁄ 综合 ⁄ 共 1342字 ⁄ 字号 评论关闭

页面模板匹配,开源库,web页面清洗
    是否可以考虑提供一个样本页面,由用户选中要提取的数据块,程序再把所有类似页面中该数据块所在位置的数据提取出来?
    页面清洗器 WPAR,Webwiper,JunkBuster
    html解析器 CyberNeko HTML Parser
    
页面清洗(http://hi.baidu.com/vanjor/blog/item/c52672222f42975a9922ed25.html):
    1>一般页面清洗(http://www.doc88.com/p-74253346917.html 第四章):
            a.去除注释、脚本、样式表,b.把页面划分成多个信息块,c.根据语义对信息块做进一步区分
            块的识别,根据链接跟文本的比例来确定是链接块还是文本块
            块的界定,等同于判断DOM树哪些节点可以合并哪些不可以,inline/line-break(http://www.doc88.com/p-47619146930.html)
    2>智能模板匹配清洗
    
模板匹配抓取原始数据的想法:
    1.初始化:对于某个版面提供一个html文件和一句文字(配置文件或者人工web反馈)
    2.对该版面做数据块分割,把目标文字所在的块作为抓取目标块,并把目标块在DOM中的位置写入配置文件
    3.对该目标块内所有主题(链接)做如下处理:检测链接是否已经在原始数据库存在,不存在就把对应的文章抓取下来存入原始数据库
    
那版面怎么选定呢?每个版面都手动添加?工作量太大了...
    1.初始化:提供站点主站页面,再提供一个版面链接的url(人工反馈也行)
    2.根据版面链接锁定各版面在主页的块,并把目标块在DOM中的位置写入配置文件,遍历各块中的版面链接
    3.提供一个进入版面之后翻页的链接以便机器定位翻页链接在DOM树中的位置,把链接在DOM中的位置写入配置文件

以上所述建立在分块基础之上,如何分块?(网页分块1.pdf)
    1.传统模板化方法:人工制定分块抽取规则(即,模板),费时费力,一般一个模板只适用于一个(静态)网站
    2.非模板网页分块算法
        1>纯DOM树的网页分块(DOM based segmentation),与上述一般页面清洗中块的界定类似(http://www.doc88.com/p-47619146930.html)
            a>根据是否对HTML文件结构化显示产生作用把标记分为两类
            b>根据标记对DOM做各种整合
        2>基于统计的网页分块
            从DOM中检索出所有table,找到正文table即可(局限性:适用于比较规范、所有正文信息包含在一个table中的情况)
        3>基于视觉信息的网页分块VIPS(Vision-based Page Segmentation)(网页分块2.pdf)
            根据分隔条来分割,然后做语义块重构
    
那目标主页或者某版面内部改版了怎么办?改版后主页信息块在DOM中的位置可能会改变,具体文章在各版面中的位置可能会变,翻页在DOM树位置也可能不正确了,如何检测错误?

抱歉!评论已关闭.