网页内容爬取:如何提取正文内容
创建一个新网站,一开始没有内容,通常需要抓取其他人的网页内容,一般的操作步骤如下:
根据url下载网页内容,针对每个网页的html结构特征,利用正则表达式,或者其他的方式,做文本解析,提取出想要的正文。
为每个网页写特征分析这个还是太耗费开发的时间,我的思路是这样的。
Python的BeautifulSoup包大家都知道吧,
import BeautifulSoup
soup = 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
转载于:https://www.cnblogs.com/gaotianpu/archive/2013/03/15/2961797.html
网页内容爬取:如何提取正文内容相关推荐
- java爬取网页并保存_Java结合WebMagic实现网页内容爬取
码农公社 210.net.cn 210是何含义?10月24日是程序员节,1024 =210.210既 210 之意. Java结合WebMagic实现网页内容爬取 安装 这里使用maven进行安装 ...
- 利用python的scrapy框架爬取google搜索结果页面内容
scrapy google search 实验目的 爬虫实习的项目1,利用python的scrapy框架爬取google搜索结果页面内容. https://github.com/1012598167/ ...
- Python爬虫爬取豆瓣电影评论内容,评论时间和评论人
Python爬虫爬取豆瓣电影评论内容,评论时间和评论人 我们可以看到影评比较长,需要展开才能完整显示.但是在网页源码中是没有显示完整影评的.所以我们考虑到这部分应该是异步加载的方式显示.所以打开网页的 ...
- 微博关键词搜索并爬取前40页内容与图片
微博关键词搜索并爬取前40页内容与图片 # -*- coding: utf-8 -*- """ @author: tanderick """ ...
- python-基于selenium库爬取微博关键词搜索内容
python-基于selenium爬取微博关键词搜索内容 用的是谷歌浏览器 需要下载chromedriver 暂时还少了登录步骤不能爬取第一页以外的内容 爬取内容(默认了40条(还没有做到翻页所以会重 ...
- 【Java爬虫】爬取网页中的内容,提取其中文字
挺乱的,临时存一下 package cn.hanquan.craw;import java.io.FileWriter; import java.io.IOException; import java ...
- python3 正则 去除 html标签、提取正文内容_Python通过正则表达式去除(过滤)HTML标签,提取文字...
# -*- coding: utf-8-*- import re ##过滤HTML中的标签 #将HTML中标签等信息去掉 #@param htmlstr HTML字符串. def filter_tag ...
- python爬取小说基本信息_Python爬虫零基础实例---爬取小说吧小说内容到本地
Python爬虫实例--爬取百度贴吧小说 写在前面本篇文章是我在简书上写的第一篇技术文章,作为一个理科生,能把仅剩的一点文笔拿出来献丑已是不易,希望大家能在指教我的同时给予我一点点鼓励,谢谢. 一.介 ...
- python爬取糗事百科内容
1,使用到的知识点 2,思路 3,代码展示 4,总结 欢迎使用Markdown编辑器 1,使用到的知识点 (1)requests库的使用 requests是python很实用的一个库,想要爬取数据re ...
- 爬取新浪新闻[内容笔记代码整理]
学习视频:网易云 Python网络爬虫实战 环境:python3.5,requests,bs4,json,pandas,re,datetime 主要完成内容:爬取了新浪新闻-国内新闻版块的新闻信息,包 ...
最新文章
- 神经网络“炼丹炉”内部构造长啥样?牛津大学博士小姐姐用论文解读
- sysdba,sysoper,normal 以及sys,sysdba,dba概念区别
- 压力测试工具gatling安装和介绍
- 实现一个EventTarget类
- python3 解析html_Python3.x网页抓取HTMLParser
- 我们需要什么样的恐怖小说?
- 搜狗词库爬虫(1):基础爬虫架构和爬取词库分类
- qpython3h数字雨代码,html开发数字雨特效代码
- 单片机C51继电器控制C语言,单片机控制继电器,51单片机控制继电器详细说明
- 使用Clipboard.js轻松实现“复制到剪贴板”
- arcgis 计算面积
- 手把手教你搭建小程序
- 常见的磁盘格式以及它们之间的区别
- 搞事情 | 大数据文摘和ta的朋友们:环游世界的80天
- sql查询时添加一列为固定值
- Unity接入苹果内购(IAP)
- 互联网中越老越吃香的行业是?
- R语言 trim=0.1 tirm=0.2 什么意思呢?
- ITE Super IO入门篇
- pfSense book之DNS解析
热门文章
- SpringSecurity半成品笔记
- 算法整理(二)---高速排序的两种实现方式:双边扫描和单边扫描
- 用arp-scan扫描局域网IP地址
- win7 IIS服务启动和停止
- 性能分析工具Linux perf使用经验
- java类转换异常,java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Long
- python三大库_Python 经典库汇总(3)
- [渝粤教育] 陕西科技大学 食品营养安全与健康 参考 资料
- 【渝粤题库】 广东开放大学 劳动和社会保障法 形成性考核
- SuperPoint学习---demo代码理解