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语言作为统计学一门语言,一直在小众领域闪耀着光芒. ...
随机推荐
- CentOS7.9防火墙命令
CentOS7防火墙命令有变化: CentOS7: systemctl status firewalld.service 查看防火墙状态 systemctl stop firewalld. ...
- 一、Windows docker入门篇
win7.win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/win ...
- .net core 杂记:用Autofac替换内置容器
官方建议使用内置容器,但有些功能并不支持,如下: 属性注入 基于名称的注入 子容器 自定义生存期管理 Func<T> 支持 所以可以使用其他第三方IOC容器,如Autofac,下面为学习使 ...
- springboot2集成swagger2出现guava包下的FluentIterable.append方法找不到
加入依赖 <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> < ...
- 利用 pandas库读取excel表格数据
利用 pandas库读取excel表格数据 初入IT行业,愿与大家一起学习,共同进步,有问题请指出!! 还在为数据读取而头疼呢,请看下方简洁介绍: 数据来源为国家统计局网站下载: 具体方法 代码: i ...
- Mysql之数据库简介
一.什么是数据库? 据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的 过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用 数据库是长期存放在计算机内.有组 ...
- kali 系统膨胀后如何处理
1.一般使用的kali 安装都是将系统文件全部放在一个总分区中,应用程序会产生临时文件,另外在安装软件的时候会出现 系统框架的不同,但是kali并不会检测该问题,直接当依赖的框架下载,可以是使用命令 ...
- Maven的配置文件-settings.xml内容分解
本文转载:https://www.cnblogs.com/jingmoxukong/p/6050172.html 概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件, ...
- PAT基础级-钻石段位样卷2-7-4 6翻了 (15 分)
“666”是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思.如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字 ...
- java基础(2)---基本语法
一.程序注释 二.HelloWorld 三.关键字 四.常量 五.变量 六.标识符: 七.数据类型 数据类型间的转换: (1)自主转换:不需要明确指出所要转化的类型是什么,而是由java虚拟机自动转化 ...
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语言作为统计学一门语言,一直在小众领域闪耀着光芒. ...
CentOS7防火墙命令有变化: CentOS7: systemctl status firewalld.service 查看防火墙状态 systemctl stop firewalld. ...
win7.win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/win ...
官方建议使用内置容器,但有些功能并不支持,如下: 属性注入 基于名称的注入 子容器 自定义生存期管理 Func<T> 支持 所以可以使用其他第三方IOC容器,如Autofac,下面为学习使 ...
加入依赖 <!-- https://mvnrepository.com/artifact/com.google.guava/guava --> <dependency> < ...
利用 pandas库读取excel表格数据 初入IT行业,愿与大家一起学习,共同进步,有问题请指出!! 还在为数据读取而头疼呢,请看下方简洁介绍: 数据来源为国家统计局网站下载: 具体方法 代码: i ...
一.什么是数据库? 据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的 过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用 数据库是长期存放在计算机内.有组 ...
1.一般使用的kali 安装都是将系统文件全部放在一个总分区中,应用程序会产生临时文件,另外在安装软件的时候会出现 系统框架的不同,但是kali并不会检测该问题,直接当依赖的框架下载,可以是使用命令 ...
本文转载:https://www.cnblogs.com/jingmoxukong/p/6050172.html 概要 settings.xml有什么用? 如果在Eclipse中使用过Maven插件, ...
“666”是一种网络用语,大概是表示某人很厉害.我们很佩服的意思.最近又衍生出另一个数字“9”,意思是“6翻了”,实在太厉害的意思.如果你以为这就是厉害的最高境界,那就错啦 —— 目前的最高境界是数字 ...
一.程序注释 二.HelloWorld 三.关键字 四.常量 五.变量 六.标识符: 七.数据类型 数据类型间的转换: (1)自主转换:不需要明确指出所要转化的类型是什么,而是由java虚拟机自动转化 ...