【python教程】网页正文及内容图片提取算法
抓取单个网站网页内容时通常采用正则匹配的方式,但不同网站之间结构千奇百怪,很难用统一的正则表达式进行匹配。《基于行块分布函数的通用网页正文抽取算法》的作者总结了一般从网页中提取文章正文的方法,提出基于行块分布的正文抽取算法,并给出了 php 、java 等实现。这一算法的主要原理基于两点:1、正文区密度:在去除html中所有tag之后,正文区字符密度更高,较少出现多行空白;2、行块长度:非正文区域的内容一般单独标签(行块)中较短。算法步骤如下:
1、去除所有tag,包括样式、Js脚本内容等,但保留原有的换行符
2、将网页内容按行分割,定义行块 $block_i$ 为第 $[i, i + blockSize]$ 行文本之和并给出行块长度基于行号的分布函数:
立即学习“Python免费学习笔记(深入)”;
3、正文出现在最长的行块,截取两边至行块长度为 0 的范围:
4、如果需要提取正文区域出现的图片,只需要在第一步去除tag时保留标签的内容:
-
python fabric实现远程部署
python fabric实现远程部署需求描述在多人协同开发项目的过程中,几乎每天我们都要提交代码到git服务器,然后部...
Python
29分钟前 2 -
详解Python中的相对导入和绝对导入
前言Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。Pyth...
Python
32分钟前 2 -
Python中取整的几种方法小结
前言对每位程序员来说,在编程过程中数据处理是不可避免的,很多时候都需要根据需求把获取到的数据进行处理,取整则是最基本的数...
Python
33分钟前 2 -
使用Bash Shell检查文件是否存在的方法
前言大家在工作的时候可能经常会遇到这样的需求,在类Unix系统的Bash环境下,怎样检查文件是否存在呢?既然有需求,当然...
Python
39分钟前 1 -
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
前提官网上提供了 Mac 和 Windows 上的安装包和 Linux 上安装需要的源码。下载地址如下:https://...
Python
39分钟前 1
- python fabric实现远程部署 29分钟前
- 详解Python中的相对导入和绝对导入 32分钟前
- Python中取整的几种方法小结 33分钟前
- 使用Bash Shell检查文件是否存在的方法 39分钟前
- Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程 39分钟前
- 更改Ubuntu默认python版本的两种方法python-> Anaconda 42分钟前
- Python中操作mysql的pymysql模块详解 44分钟前
- Python连接mysql数据库的正确姿势 45分钟前
- Python正则表达式如何进行字符串替换实例 52分钟前
- Python数据分析之真实IP请求Pandas详解 57分钟前