网站内容抓取(创建一个新网站之照着文本的峰值在哪几行?)

优采云 发布时间: 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 包,

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线