MacOS下安装BeautifulSoup库及使用

BeautifulSoup简介


BeautifulSoup库是一个强大的python第三方库,它可以解析html进行解析,并提取信息。

安装BeautifulSoup


  • 打开终端,输入命令:
pip3 install beautifulsoup4

1092957-20181021142803927-1734662284.png

BeautifulSoup库小测


  • 小测用到的html页面地址:http://python123.io/ws/demo.html

1092957-20181021142814964-474177417.png

  • 查看它的源代码:

1092957-20181021142824994-439129376.png

  • 用request库获得源代码(存放在变量demo中):
>>> import requests
>>> r = requests.get("http://python123.io/ws/demo.html")
>>> r.text
'<html><head><title>This is a python demo page</title></head>\r\n<body>\r\n<p class="title"><b>The demo python introduces several python courses.</b></p>\r\n<p class="course">Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:\r\n<a href="http://www.icourse163.org/course/BIT-268001" class="py1" id="link1">Basic Python</a> and <a href="http://www.icourse163.org/course/BIT-1001870001" class="py2" id="link2">Advanced Python</a>.</p>\r\n</body></html>'
>>> demo = r.text
  • 导入BeautifulSoup库
>>> from bs4 import BeautifulSoup
>>> 
  • 使用BeautifulSoup库解析html信息
>>> demo = r.text
>>> soup = BeautifulSoup(demo,'html.parser')
>>> print(soup.prettify)
<bound method Tag.prettify of <html><head><title>This is a python demo page</title></head>
<body>
<p class="title"><b>The demo python introduces several python courses.</b></p>
<p class="course">Python is a wonderful general-purpose programming language. You can learn Python from novice to professional by tracking the following courses:
<a class="py1" href="http://www.icourse163.org/course/BIT-268001" id="link1">Basic Python</a> and <a class="py2" href="http://www.icourse163.org/course/BIT-1001870001" id="link2">Advanced Python</a>.</p>
</body></html>>
>>> 

如何使用BeautifulSoup库?

  • 代码框架:
from bs4 import BeautifulSoup
soup = BeautifulSoup('<p>data</p>','html.parser')
  • 其中BeautifulSoup的两个参数:
    • 第一个代表我们要解析的html格式的信息。
    • 第二个代表解析所使用到的解析器

转载于:https://www.cnblogs.com/031602523liu/p/9824907.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/570269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中当前的时间的各种写法

1、系统时间&#xff08;电脑上显示的时间&#xff09; //导入的包&#xff1a; import java.text.SimpleDateFormat; import java.util.Date;SimpleDateFormat df new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式 String dqsj df.format(new Date()…

第十章 深入理解Session与Cookie

理解Cookie 理解Session Cookie安全问题 分布式Session框架 Cookie压缩 表单重复提交问题 多终端Session统一转载于:https://www.cnblogs.com/hzzjj/p/9825639.html

sql 修改字段 删除字段操作

1、修改字段 --修改字段名 alter table [表名] rename column oldCname to newCName; --修改数据类型 alter table [表名] modify (columnName 数据类型); 2、删除字段 alter table [表名] drop column [字段名]

oracle创建、删除索引等操作

1、创建索引 create index 索引名 on 表名(列名); 2、删除索引 drop index 索引名; 3、创建组合索引 create index 索引名 on 表名(列名1,,列名2); 4、查询索引 --根据索引名&#xff0c;查询表索引字段 select * from user_ind_columns where index_name索引名; --根据…

判断radio单选框是否选中

1、利用获取选中值判断选中 /*------判断radio是否有选中&#xff0c;获取选中的值--------*/var val$(input:radio[name"sex"]:checked).val();if(valnull){alert("什么也没选中!");return false;}else{alert(val);} 2、使用checked属性判断选中 /*---…

P4 类、对象、类成员简介

本节内容 类&#xff08;class&#xff09;是显示世界事物的模型。 现实中的一架飞机>>>抽象为程序世界中的类 类与对象的关系 对象也叫做实例&#xff0c;是类经过实例化得到的内存中的事宜 有些类不能被实例化&#xff0c;如数学&#xff0c;我们不能说一个数学依照…

.html()和.text()及.val()的区别

.html()和.text()及.val()的区别 .html() .html()&#xff1a;获取集合中第一个匹配元素的HTML内容。这个函数不能用于XML文档。但可以用于XHTML文档 .html( htmlString )&#xff1a;设置每一个匹配元素的html内容。这个函数不能用于XML文档。但可以用于XHTML文档 .html( fun…

PhpStorm之操作数据库

对数据库进行基本的操作 还不清楚如何使用PhpStorm连接本地数据库的朋友看一下我的上一篇博客配置数据库连接点击已经连接好的数据库&#xff0c;找到下图中的 Consoles&#xff0c;然后点击 console(default) 3.在完成上面的操作后&#xff0c;就会发现在编辑器的主页面出现了…

input输入框汇总

required 属性规定必需在提交之前填写输入字段。 如果使用该属性&#xff0c;则字段是必填&#xff08;或必选&#xff09;的。 required"true" H5&#xff1a;required"required" enabled”false” 只读属性 document.getElementById("")…

element-ui el-radio 回显格式为中文 传值格式为数值

<template><!-- 需求:使用 <el-radio> 关于性别单选 前端显示中文&#xff0c;传值为Number --><div class"demo"><!-- 新增部分 --><el-radio-group v-model"newSex" change"openNewRadio"><el-rad…

div的相关操作

div处于页面底部 position:absolute; bottom:0 判断一个div是否存在怎么写 JavaScript&#xff1a;if(document.getElementById(id)!null){alert(存在)} jQuery&#xff1a;if($(#id).length>0){alert(存在)} 判断div中内容为空 var content $("#content").h…

linux的一些基本命令

一、linux的一些基本命令&#xff08;使用的是CentOS7系统&#xff09;&#xff1a; 1、创建用户组&#xff0c;创建新用户并添加到用户组 添加用户&#xff0c;添加用户组命令&#xff1a; 增加用户&#xff1a;useradd -d /usr/username -m username    为用户增加密码&a…

js中获取对象属性的3种方式

js中遍历获取对象属性和方法主要有Object.keys()、Object.getOwnPropertyNames()、for…in… 区别 1、for in会输出自身以及原型链上可枚举的属性。2、Object.keys用来获取对象自身可枚举的属性键。3、Object.getOwnPropertyNames用来获取对象自身的全部属性名 // 创建一个对…

showModalDialog页面

弹出子窗口&#xff0c;代码如下&#xff1a; transpage "相关路径"; //resizable:no;status:0;help:0;dialogWidth:1600px;dialogHeight:900pxposition"窗口尺寸";window.showModalDialog(transpage,window,position);//window.open(); 举个例子,你可以…

oracle中varchar2的储存长度

varchar2最大是4000字节&#xff0c;那么就看你的oracle字符集&#xff1a;&#xff08;select userenv(‘language’) from dual;&#xff09; 如果字符集是16位编码的&#xff0c;ZHS16GBK&#xff0c;那么每个字符16位&#xff0c;2字节&#xff0c;所以可以容纳2000字符。…

SQLSTATE[HY000]: General error: 1030 Got error 28 from storage engine

今天上课程化平台考试&#xff0c;输入平台网址突然报这个错误 可以先df -h 发现/tmp文件使用满了 &#xff0c;清理下不需要的临时文件即可转载于:https://www.cnblogs.com/zwshi/p/sql.html

oracle中的Number的长度定义

Number可以通过如下格式来指定&#xff1a;Field_NAME Number&#xff08;precision &#xff0c;scale&#xff09;&#xff0c;其中precision指Number可以存储的最大数字长度&#xff08;不包括左右两边的0&#xff09;&#xff0c;scale指在小数点右边的最大数字长度&#x…

[NOIP2003]传染病控制题解

题目链接&#xff1a;... 思路&#xff1a; 优化搜索顺序&#xff0c;用DFS按照bfs的思想&#xff0c;从每一层开始搜索&#xff0c;枚举删边。 对于分层&#xff0c;dfs预处理一下就好了。 代码&#xff1a; #include<iostream> #include<cstdio> #include<cst…

Js中parentNode,parentElement,childNodes,children之间的区别

parentElement 获取对象层次中的父对象。 parentNode 获取文档层次中的父对象。 childNodes 获取作为指定对象直接后代的 HTML 元素和 TextNode 对象的集合。 children 获取作为对象直接后代的 DHTML 对象的集合。

springBoot+mybatisPlus小demo

项目介绍&#xff1a;采用restful api进行接口规范 / 项目框架SpringBootmybatis Plus / 采用mysql进行数据存储 / 采用swaggerUI进行前后端业务分离式开发。 开发环境&#xff1a;JDK1.8Mysql8.0.12IDEAL 实现功能&#xff1a;springboot搭建整体框架&#xff0c;MybatisPlus动…