美文网首页
python简易爬虫(3)--网页正文提取

python简易爬虫(3)--网页正文提取

作者: troy_ld | 来源:发表于2016-08-09 09:21 被阅读1486次

    目前做爬虫,大概最耗费时间的就是在写提取规则上。目前常用的工具,如bs4, xpath, regex等,此类工具对于定向垂直抓取(amazon, taobao, jd)特别适合。但如果站点超过100, 比如说各个网站的新闻内容,那么仍用精准的解析规则成本就会提高很多。

    如果谷歌搜索 网页正文提取, 那么你可能查阅到更多通用的方案。下面我就简单谈谈目前我正在学习的基于html结构树的方案。

    假设

    1 同一站点下的html结构与内容都非常类似,比如广告的位置(甚至内容)
    2 同一站点下的html不同之处包含时间、标题、正文段落等我们感兴趣的内容

    方案

    1 将html解析为dom树,并对同一站点下的html进行比较
    2 遍历dom树下的节点,对于两颗树相同/相似节点的内容进行比较,如果内容相同则提取出来

    以采用xpath为例,对于path可能需要做一些处理

    path0  =  ‘/html/p[0]/li[2]’
    path0 --> path1 = '/html/p/li'
    

    简化之后,更关注html的整体结构,而非离散的重复序列
    基于以上思路,我笔趣阁的小说为例,对于同一部小说的两章作出了对比提取,正文确实可以提出来,不过同时也提取出了部分js代码。简单粗暴不过还算有效,但值得一提的是,后期可能还是需要加入一些的过滤规则,比如 将js的标签内容去掉,换行符的冗余处理。

    后记:利用对比html的结构树的方案制作提取规则,不要求精准定位,但提取出来的数据可能需要后期的清洗,或者根据经验,继续完善(待续)

    相关文章

      网友评论

          本文标题:python简易爬虫(3)--网页正文提取

          本文链接:https://www.haomeiwen.com/subject/kvarsttx.html