网页内容爬取:如何提取正文内容
来源:互联网 发布:知乎回复越来越长 编辑:程序博客网 时间:2024/04/28 20:26
创建一个新网站,一开始没有内容,通常需要抓取其他人的网页内容,一般的操作步骤如下:
根据url下载网页内容,针对每个网页的html结构特征,利用正则表达式,或者其他的方式,做文本解析,提取出想要的正文。
为每个网页写特征分析这个还是太耗费开发的时间,我的思路是这样的。
Python的BeautifulSoup包大家都知道吧,
import BeautifulSoupsoup = BeautifulSoup.BeautifulSoup(html)
利用这个包先把html里script,style给清理了:
[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包,https://github.com/xgdlm/python-goose
- 网页内容爬取:如何提取正文内容
- 网页正文及内容提取算法
- 如何提取CSDN博客正文内容
- Python网页正文及内容图片提取算法
- 【Python】提取网页正文内容的相关模块与技术
- 爬取网页内容
- 【Jsoup爬取网页内容】
- JAVA爬取网页内容
- python爬取网页内容
- 爬取网页动态内容
- JAVA爬取网页内容
- python使用SGMLParser提取文本正文内容
- 从网页提取内容
- nodejs提取网页内容
- xpath提取网页内容
- python 爬取网页正文
- 利用HtmlParse抽取网页正文内容
- C#实现网页内容正文抓取
- 有向图的DFS遍历及判断是否有环(算法导论)
- UVA 题目409 - Excuses, Excuses!
- 基础复习
- WINCE下创建多个文件分区
- 对jQuery的事件绑定的一些思考
- 网页内容爬取:如何提取正文内容
- 回顾MySpace架构的坎坷之路
- wince 下USB 虚拟多个串口问题
- iOS网络编程-ASIHTTPRequest异步请求
- 随机梯度下降(Stochastic Gradient Descend, SGD)算法在大规模数据机器学习问题的使用
- WinCE中将调试信息写入文件的方法
- 爱上多线程——重复初始化问题
- 对 nginx 图片反盗链的几种常见情况的综合分析
- 多线程学习五之网络聊天室的实现