python3 调用 beautifulSoup 进行简单的网页处理
python3 调用 beautifulSoup 进行简单的网页处理
from bs4 import BeautifulSoup
file = open('index.html','r',encoding='utf-16-le') #此处有坑!!!
soup = BeautifulSoup(file,'lxml')
print (soup) # 打印读出的内容
print ('\n ------------- \n')
print (soup.get_text()) # 取所有标签中的文字
print ('\n ------------- \n')
print (soup.prettify()) # 格式化输出
# 以标签的形式输出
print (soup.title)
print ('\n ------------- \n')
print (soup.body)
print ('\n ------------- \n')
print (soup.body.div)
import re
print (soup.find_all('br')) # 仅仅用来搜索标签
print ('\n ------------- \n')
print (soup.find_all(re.compile('^b')))#可以使用正则表达式 以b开头的标签
print ('\n ------------- \n')
print (soup.find_all(id='wiz_custom_css'))
print ('\n ------------- \n')
for strr in soup.strings: # 取所有下一级标签中的字符串 .stripped_strings可以去空白
print (strr)
print ('\n ------------- \n')
# 去除body中的标签,将结果保存于文件 待改进
# kill all script and style elements
for script in soup(["script", "style"]):
script.extract() # rip current tap
title_text = soup.title.get_text()
str_text = ''
for strr in soup.body.strings: # 取所有下一级标签中的字符串 .stripped_strings可以去空白
str_text = str_text + strr + '\n'
print (str_text)
if title_text == '':
md_file = open('index.md','w')
md_file.write(str_text)
else:
md_file = open(title_text+'.md','w')
md_file.write(str_text)
# 网上搜到的方式,<br/>标签没有转为换行,后面有另一种方式
#print soup
# kill all script and style elements
for script in soup(["script", "style"]):
script.extract() # rip current tap
# get text
text = soup.get_text()
#print text + '____________'
# break into lines and remove leading and trailing space on each
# splitlines 按\r \r\n \n三种标签分解为行
# strip()移除首尾字符,参数默认为空格
lines = (line.strip() for line in text.splitlines())
# break multi-headlines into a line each
chunks = (phrase.strip() for line in lines for phrase in line.split(" "))
# drop blank lines
text = '\n'.join(chunk for chunk in chunks if chunk) # 这个循环…………
#wfile = open('aa.md','w')
#wfile.write(text)
print(text)
python3 调用 beautifulSoup 进行简单的网页处理的更多相关文章
- 问题:python3 使用beautifulSoup时,出错UnicodeDecodeError: 'gbk' codec …….
想将html文件转为纯文本,用Python3调用beautifulSoup 超简单的代码一直出错,用于打开本地文件: from bs4 import BeautifulSoup file = open ...
- Python3中BeautifulSoup的使用方法
BeautifulSoup的使用 我们学习了正则表达式的相关用法,但是一旦正则写的有问题,可能得到的就不是我们想要的结果了,而且对于一个网页来说,都有一定的特殊的结构和层级关系,而且很多标签都有id或 ...
- 爬虫基础库之beautifulsoup的简单使用
beautifulsoup的简单使用 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: ''' Beautiful Soup提供一些简单的.p ...
- 分享:计算机图形学期末作业!!利用WebGL的第三方库three.js写一个简单的网页版“我的世界小游戏”
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
- Python3调用Hadoop的API
前言: 上一篇文章 我学习使用pandas进行简单的数据分析,但是各位...... Pandas处理.分析不了TB级别数据的大数据,于是再看看Hadoop. 另附上人心不足蛇吞象 对故事一的感悟: ...
- Python【BeautifulSoup解析和提取网页数据】
[解析数据] 使用浏览器上网,浏览器会把服务器返回来的HTML源代码翻译为我们能看懂的样子 在爬虫中,也要使用能读懂html的工具,才能提取到想要的数据 [提取数据]是指把我们需要的数据从众多数据中挑 ...
- 利用python3 调用zabbix接口完成批量加聚合图形(screens)
在上一篇博客中,我们完成的利用python3 调用zabbix接口批量增加主机,增加主机的item,增加主机的图形! 接下来我们完成批量增加主机的screen 首先我们要增加screen需要哪些参数呢 ...
- Python3调用C程序(超详解)
Python3调用C程序(超详解) Python为什么要调用C? 1.要提高代码的运算速度,C比Python快50倍以上 2.对于C语言里很多传统类库,不想用Python重写,想对从内存到文件接口这样 ...
- Rsession让Java调用R更简单
Rsession让Java调用R更简单 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒. ...
随机推荐
- Redis 如何与数据库事务保持一致
考虑一个问题,redis 如何 与 数据库保持一致性的问题. 举栗子:如果我们在开发过程中遇到这样的一种情况,我们删除 redis中token 的同时 也需要修改数据库中 储存的 token 的状态为 ...
- 表单送件按钮代码(一)cs(C#)(未完)
protected void BtnRequest_Clich(object sender, EventArgs e) { lblMsg.Text= " " ; lblfmsg.T ...
- Linux下OpenSSL加密解密压缩文件(AES加密压缩文件)
OpenSSL是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库.应用程序.SSL协议库.Openssl实现了SSL协议所需要的大多数算法.下面介绍使用Openssl进行文件的对称 ...
- nginx Proxy Cache 配置
总结一下 proxy cache 设置的常用指令及使用方法: proxy_cache proxy_cache zone | off 配置一块公用的内存区域的名称,该区域可以存放缓存的索引数据.注意:z ...
- 安装HANA Rules Framework(HRF)
1. 收集文档 1.1 SAP HANA Rules Framework by the SAP HANA Academy link 1.2 HANA Rules Framework (HRF) b ...
- python3之面向对象编程理解
面向对象主要有三个特征:封装,继承,多态度. 一.封装 定义类语 class Animal(): class为定义类的关键字,后面跟名字(): python命名规范建议:类一般首字母单词大写,属性变量 ...
- nginx日志配置笔记:if条件
1.特定条件写日志: 参照: https://stackoverflow.com/questions/19011719/how-to-write-only-logs-with-200-status h ...
- SSH安全优化
更改远程连接登陆的端口 禁止root管理员直接登陆 密码认证方式改为密钥认证 重要服务不使用公网IP地址 使用防火墙来限制来源IP地址 Port 666 变更SSH服务远 ...
- 十年种树----小白的起点save
大家好,给大家介绍一下我自己.各平台通用ID:琴鬼白羊,男,一个24岁学习采矿工程的在读研究僧,一个24岁还在想学习计算机的小白. 非洲经济学家Dambisa Moyo在他的<dead aid& ...
- unity和lua开发游戏常备技能
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 我的个人博客 一.使用制作滑动列表:使用UILayout做虚拟列表 ui.list = base:findcom(" ...
from bs4 import BeautifulSoup
file = open('index.html','r',encoding='utf-16-le') #此处有坑!!!
soup = BeautifulSoup(file,'lxml')
print (soup) # 打印读出的内容
print ('\n ------------- \n')
print (soup.get_text()) # 取所有标签中的文字
print ('\n ------------- \n')
print (soup.prettify()) # 格式化输出
# 以标签的形式输出
print (soup.title)
print ('\n ------------- \n')
print (soup.body)
print ('\n ------------- \n')
print (soup.body.div)
import re
print (soup.find_all('br')) # 仅仅用来搜索标签
print ('\n ------------- \n')
print (soup.find_all(re.compile('^b')))#可以使用正则表达式 以b开头的标签
print ('\n ------------- \n')
print (soup.find_all(id='wiz_custom_css'))
print ('\n ------------- \n')
for strr in soup.strings: # 取所有下一级标签中的字符串 .stripped_strings可以去空白
print (strr)
print ('\n ------------- \n')
# 去除body中的标签,将结果保存于文件 待改进
# kill all script and style elements
for script in soup(["script", "style"]):
script.extract() # rip current tap
title_text = soup.title.get_text()
str_text = ''
for strr in soup.body.strings: # 取所有下一级标签中的字符串 .stripped_strings可以去空白
str_text = str_text + strr + '\n'
print (str_text)
if title_text == '':
md_file = open('index.md','w')
md_file.write(str_text)
else:
md_file = open(title_text+'.md','w')
md_file.write(str_text)
# 网上搜到的方式,<br/>标签没有转为换行,后面有另一种方式
#print soup
# kill all script and style elements
for script in soup(["script", "style"]):
script.extract() # rip current tap
# get text
text = soup.get_text()
#print text + '____________'
# break into lines and remove leading and trailing space on each
# splitlines 按\r \r\n \n三种标签分解为行
# strip()移除首尾字符,参数默认为空格
lines = (line.strip() for line in text.splitlines())
# break multi-headlines into a line each
chunks = (phrase.strip() for line in lines for phrase in line.split(" "))
# drop blank lines
text = '\n'.join(chunk for chunk in chunks if chunk) # 这个循环…………
#wfile = open('aa.md','w')
#wfile.write(text)
print(text)
想将html文件转为纯文本,用Python3调用beautifulSoup 超简单的代码一直出错,用于打开本地文件: from bs4 import BeautifulSoup file = open ...
BeautifulSoup的使用 我们学习了正则表达式的相关用法,但是一旦正则写的有问题,可能得到的就不是我们想要的结果了,而且对于一个网页来说,都有一定的特殊的结构和层级关系,而且很多标签都有id或 ...
beautifulsoup的简单使用 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: ''' Beautiful Soup提供一些简单的.p ...
这几天一直在忙着期末考试,所以一直没有更新我的博客,今天刚把我的期末作业完成了,心情澎湃,所以晚上不管怎么样,我也要写一篇博客纪念一下我上课都没有听,还是通过强大的度娘完成了我的作业的经历.(当然作业 ...
前言: 上一篇文章 我学习使用pandas进行简单的数据分析,但是各位...... Pandas处理.分析不了TB级别数据的大数据,于是再看看Hadoop. 另附上人心不足蛇吞象 对故事一的感悟: ...
[解析数据] 使用浏览器上网,浏览器会把服务器返回来的HTML源代码翻译为我们能看懂的样子 在爬虫中,也要使用能读懂html的工具,才能提取到想要的数据 [提取数据]是指把我们需要的数据从众多数据中挑 ...
在上一篇博客中,我们完成的利用python3 调用zabbix接口批量增加主机,增加主机的item,增加主机的图形! 接下来我们完成批量增加主机的screen 首先我们要增加screen需要哪些参数呢 ...
Python3调用C程序(超详解) Python为什么要调用C? 1.要提高代码的运算速度,C比Python快50倍以上 2.对于C语言里很多传统类库,不想用Python重写,想对从内存到文件接口这样 ...
Rsession让Java调用R更简单 R的极客理想系列文章,涵盖了R的思想,使用,工具,创新等的一系列要点,以我个人的学习和体验去诠释R的强大. R语言作为统计学一门语言,一直在小众领域闪耀着光芒. ...
考虑一个问题,redis 如何 与 数据库保持一致性的问题. 举栗子:如果我们在开发过程中遇到这样的一种情况,我们删除 redis中token 的同时 也需要修改数据库中 储存的 token 的状态为 ...
protected void BtnRequest_Clich(object sender, EventArgs e) { lblMsg.Text= " " ; lblfmsg.T ...
OpenSSL是一个开源的用以实现SSL协议的产品,它主要包括了三个部分:密码算法库.应用程序.SSL协议库.Openssl实现了SSL协议所需要的大多数算法.下面介绍使用Openssl进行文件的对称 ...
总结一下 proxy cache 设置的常用指令及使用方法: proxy_cache proxy_cache zone | off 配置一块公用的内存区域的名称,该区域可以存放缓存的索引数据.注意:z ...
1. 收集文档 1.1 SAP HANA Rules Framework by the SAP HANA Academy link 1.2 HANA Rules Framework (HRF) b ...
面向对象主要有三个特征:封装,继承,多态度. 一.封装 定义类语 class Animal(): class为定义类的关键字,后面跟名字(): python命名规范建议:类一般首字母单词大写,属性变量 ...
1.特定条件写日志: 参照: https://stackoverflow.com/questions/19011719/how-to-write-only-logs-with-200-status h ...
更改远程连接登陆的端口 禁止root管理员直接登陆 密码认证方式改为密钥认证 重要服务不使用公网IP地址 使用防火墙来限制来源IP地址 Port 666 变更SSH服务远 ...
大家好,给大家介绍一下我自己.各平台通用ID:琴鬼白羊,男,一个24岁学习采矿工程的在读研究僧,一个24岁还在想学习计算机的小白. 非洲经济学家Dambisa Moyo在他的<dead aid& ...
推荐阅读: 我的CSDN 我的博客园 QQ群:704621321 我的个人博客 一.使用制作滑动列表:使用UILayout做虚拟列表 ui.list = base:findcom(" ...