网站内容抓取(创建一个新网站之照着文本的峰值在哪几行?)
优采云 发布时间: 2022-01-21 04:12网站内容抓取(创建一个新网站之照着文本的峰值在哪几行?)
新建一个网站,开头没有内容,一般需要爬取别人的网页内容,一般操作步骤如下:
根据url下载网页内容,根据每个网页的html结构特征,使用正则表达式或其他方法解析文本,提取出想要的文本。
为每个网页编写特征分析仍然太耗时,无法开发。我的想法是这样的。
Python 的 BeautifulSoup 包大家都知道吧?
import BeautifulSoup
soup = BeautifulSoup.BeautifulSoup(html)
使用这个包首先清理 html 中的脚本和样式:
[script.extract() for script in soup.findAll('script')]
[style.extract() for style in soup.findAll('style')]
清理完成后,这个包有一个 prettify() 函数来规范代码格式:
soup.prettify()
然后使用正则表达式清理所有 HTML 标签:
reg1 = re.compile("]*>")
content = reg1.sub('',soup.prettify())
其余的是纯文本文件,通常是逐行的。排除空行,以便您知道总共有多少行以及每行中有多少个字符。我用excel每行获取一些字符。统计,如下图:
x坐标是行数,y坐标是行中的字符数
显然,会有一个高峰,第 81-91 行应该是这个页面的主体。我只需要提取81~91行文本。
问题是,按照这个思路,有什么好的算法可以通过数据分析统计长文本的峰值?
附带一个用于提取文本的开源 python 包,