Python 数据分析之Beautiful Soup 提取页面信息
作者:我是小白呀 发布时间:2022-04-30 04:34:10
标签:Python,Beautiful,Soup,数据分析
概述
数据分析 (Data Analyze) 可以在工作中的各个方面帮助我们. 本专栏为量化交易专栏下的子专栏, 主要讲解一些数据分析的基础知识.
Beautiful Soup
Beautiful 是一个可以从 HTML 或 XML 文件中提取数据的 Pyhton 库. 简单来说, 它能将 HTML 的标签文件解析成树形结构, 然后方便的获取到指定标签的对应属性.
安装:
pip install beautifulsoup4
例子:
from bs4 import BeautifulSoup
# 创建一段HTML代码
html_content = """
<html>
<head>
<title>我是小白呀的博客</title>
</head>
<body>
<p class="redColor">个人介绍</p>
</body>
</html>
"""
# 生成soup
soup = BeautifulSoup(html_content, "html.parser")
# 调试输出
print(soup.title) # 标题
print("name:", soup.title.name)
print(soup.head) # 头部
print("name:", soup.head.name)
print(soup.p) # 段落
print("name:", soup.p.name)
print("class:", soup.p.attrs)
输出结果:
<title>我是小白呀的博客</title>
name: title
<head>
<title>我是小白呀的博客</title>
</head>
name: head
<p class="redColor">个人介绍</p>
name: p
class: {'class': ['redColor']}
class: ['redColor']
提取页面信息
例子:
from urllib import request
from bs4 import BeautifulSoup
# 网页
url = "https://iamarookie.blog.csdn.net/"
# 发送请求
response = request.urlopen(url)
# 获取内容
html_content = response.read().decode("utf-8")
# 生成soup
soup = BeautifulSoup(html_content)
# 解析博客名字
blog_name = soup.find("div", attrs={"class":"user-profile-head-name"}).text
print("博客名字:\n", blog_name)
# 解析博客签名
blog_signature = soup.find("div", attrs={"class":"user-profile-head-introduction"}).text
print("博客签名:\n", blog_signature.strip())
输出结果:
博客名字:
我是小白呀 码龄2年
博客签名:
吾本布衣, 出自纽约, 四周大山. 箪瓢屡空, 环堵萧然, 不弊风日. 吾好读书, 滴水石穿, 笨鸟先飞, 求知不断, 方能立足. 不羡孔北海之座上客常满, 但求吾辈架上书常在. 涸辙遗鲋, 暮成枯, 人而无志, 与彼何殊. Self-study Computer Science. 愿为 open source 自效微力. 天高地阔,欲往观之. 因为啥也不会, 默默做一只小白
来源:https://blog.csdn.net/weixin_46274168/article/details/120793565


猜你喜欢
- 最近接到一个任务,就是用django后端,前段用vue,做一个普通的简单系统,我就是一搞后端的,听到vue也是比较震惊,之前压根没接触过vu
- 前言还是之前说的项目,环境目前已经准备好了,项目准备验证阶段发现了一个问题,从上层应用输入鉴权访问应用,一直在等待状态,输入了正确的用户名及
- 1、Golang指针在介绍Golang指针隐式间接引用前,先简单说下Go 语言的指针 (Pointer),一个指针可以指向任何一个值的内存地
- viper作为配置框架,其功能非常的强大,我们没有理由不去了解一下。我们先看官网对它的功能简介:viper是完整配置解决方案,他可以处理所有
- import numpy as npimport pandas as pdfrom pandas_datareader import dat
- 如果你看过YUI的RAW源码,会发现很多跟javadoc语法类似的注释。据说(via)是使用JSDoc这个工具。但我探索了一遍,发现YUI多
- 本文主要介绍的是vue.js插入dom节点的方法,下面话不多说,来看看详细的介绍吧。html代码:<div id="app&
- 解决方法: 给 audio 组件绑定点击事件,手动触发播放暂停方法!代码片段:wxml文件<!-- 判断是语音通话,有通话记录,通话描
- 10线程同时操作,频繁出现插入同样数据的问题。虽然在插入数据的时候使用了: insert inti tablename(fields....
- Apache2 httpd.conf 中文版 # # 基于 NCSA 服务的配
- 利用Python制作自动抢火车票小程序,过年再也不要担心没票了!前言每次过年很多人都会因为抢不到火车票而回不了家,所以小编利用Python写
- 由于改代码因为这个问题卡了半个小时特此记录首先对于一个单层的列表赋值如下,可以看见,如果直接使用 = 的话。其中一个变换便会引起另外一个变换
- 这篇文章主要介绍了python使用enumerate获取迭代元素下标,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习
- 1.开发环境 vue2.电脑系统 windows10专业版3.在使用vue开发移动端的过程中,我们会因为兼容性而头疼,下面我来分享分享下面v
- 在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。万能的python就自带了argprase包 使
- 发现ie7的空格间距要比ie6/firefox/opera的都要宽一点。比如有时候排版的时候,我会采用简单的空格来分隔。<div&nb
- python提高图像质量概述调研了一些提高图像质量的方式深度学习方法,如微软的Bringing-Old-Photos-Back-to-Lif
- 有了Selenium,还可以轻松操作Cookies,比如获取、添加、删除Cookies。具体代码如下:from selenium impor
- 找了国内30个比较著名的网站的注册表单做样本,对标签和输入区对齐方式做了统计,得到了一个结论:标签水平右对齐更适合中文网站,或者说右对齐更适
- 本文主要介绍如何通过python生成ppt文件,以及借助ppt模板来生成ppt环境python 3python-pptx安装pip3 ins