python爬虫学习笔记之Beautifulsoup模块用法详解

Python爬虫学习笔记之Beautifulsoup模块用法详解

Beautifulsoup是Python中一个用于解析HTML和XML文档的第三方库,可以方便地从网页中提取数据。本文将详细介绍Beautifulsoup模块的用法,并提供两个示例。

安装

可以使用pip命令安装Beautifulsoup模块:

pip install beautifulsoup4

基本用法

下面是一个使用Beautifulsoup解析HTML文档的示例:

from bs4 import BeautifulSoup
import requests

url = 'https://www.baidu.com'
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
print(soup.prettify())

在上面的代码中,我们使用requests模块获取百度首页的HTML代码,然后使用Beautifulsoup模块解析HTML代码,并使用prettify()方法将解析后的HTML代码格式化输出。

输出结果如下:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8"/>
  <meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible"/>
  <meta content="always" name="referrer"/>
  <meta content="百度一下,你就知道" name="description"/>
  <meta content="百度,搜索,图片搜索,百度一下,一下" name="keywords"/>
  <meta content="notranslate" name="google"/>
  <meta content="noodp" name="robots"/>
  <title>
   百度一下,你就知道
  </title>
  <link href="/favicon.ico" rel="shortcut icon" type="image/x-icon"/>
  <link href="//www.baidu.com/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg" rel="icon" sizes="any"/>
  <link href="//www.baidu.com/img/baidu_85beaf5496f291521eb75ba38eacbd87.svg" rel="apple-touch-icon" sizes="any"/>
  <link href="//www.baidu.com/css/pc_5e6de5e.css" rel="stylesheet" type="text/css"/>
  <script>
   window.__async_strategy=2;
  </script>
 </head>
 <body link="#0000cc">
  <div id="wrapper">
   <div id="head">
    <div class="head_wrapper">
     <div class="s_form">
      <div class="s_form_wrapper">
       <div id="lg">
        <img height="129" hidefocus="true" src="//www.baidu.com/img/bd_logo1.png" width="270"/>
       </div>
       <form action="//www.baidu.com/s" class="fm" id="form" name="f">
        <input name="bdorz_come" type="hidden" value="1"/>
        <input name="ie" type="hidden" value="utf-8"/>
        <input name="f" type="hidden" value="8"/>
        <input name="rsv_bp" type="hidden" value="1"/>
        <input name="rsv_idx" type="hidden" value="1"/>
        <input name="tn" type="hidden" value="baidu"/>
        <span class="bg s_ipt_wr">
         <input autocomplete="off" autofocus="autofocus" class="s_ipt" id="kw" maxlength="255" name="wd" value=""/>
        </span>
        <span class="bg s_btn_wr">
         <input class="bg s_btn" id="su" type="submit" value="百度一下"/>
        </span>
       </form>
      </div>
     </div>
    </div>
   </div>
   <div id="ftCon">
    <div id="ftConw">
     <p id="lh">
      <a href="http://home.baidu.com">关于百度</a>
      <a href="http://ir.baidu.com">About Baidu</a>
     </p>
    </div>
   </div>
  </div>
 </body>
</html>

查找元素

Beautifulsoup提供了多种方法来查找HTML文档中的元素,例如按标签名查找、按属性查找等。下面是一个使用Beautifulsoup查找元素的示例:

from bs4 import BeautifulSoup
import requests

url = 'https://www.baidu.com'
response = requests.get(url)
html = response.text
soup = BeautifulSoup(html, 'html.parser')
links = soup.find_all('a')
for link in links:
    print(link.get('href'))

在上面的代码中,我们使用Beautifulsoup的find_all()方法查找HTML文档中的所有<a>标签,并使用get()方法获取href属性的值。

输出结果如下:

```
javascript:;
http://www.baidu.com/gaoji/preferences.html
http://www.baidu.com/more/
http://www.baidu.com/duty/
http://jianyi.baidu.com/
http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11000002000001
http://www.baidu.com/
http://news.baidu.com
https://www.hao123.com
http://map.baidu.com
http://v.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map.baidu.com
http://tieba.baidu.com
http://xueshu.baidu.com
http://fanyi.baidu.com
http://wenku.baidu.com
http://music.baidu.com
http://image.baidu.com
http://v.baidu.com
http://map

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python爬虫学习笔记之Beautifulsoup模块用法详解 - Python技术站

(0)
上一篇 2023年5月15日
下一篇 2023年5月15日

相关文章

  • Python基础-特殊方法整理详解

    Python基础-特殊方法整理详解 本篇文章会对Python中的特殊方法进行整理介绍,特殊方法是指以双下划线开头和结尾的一些特殊方法,例如__init__、__str__、__eq__等等。这些特殊方法在Python中扮演着重要的角色,掌握它们可以帮助我们更好地理解Python的运行机制,并且在代码编写中起到很大的作用。 __init__方法 __init_…

    python 2023年6月3日
    00
  • python多线程实现动态图绘制

    下面是“python多线程实现动态图绘制”的完整攻略: 1. 准备工作 首先需要安装 matplotlib 和 numpy 两个库。在终端输入以下命令: pip install matplotlib numpy 2. 实现动态图 使用matplotlib画图,可以使用pyplot模块,下面是一个例子。 import matplotlib.pyplot as …

    python 2023年5月19日
    00
  • python实现读取excel表格详解方法

    Python是一种简单易学的编程语言,被广泛用于数据分析、机器学习、Web开发等领域。读取Excel表格是数据分析的一个重要任务,Python中提供了多种库实现Excel表格读取,在本文中我将为大家详细介绍如何使用Python读取Excel表格的方法。 Step 1: 安装依赖库 Python中有多个第三方库可以通过Python程序操作Excel文件,包括o…

    python 2023年6月5日
    00
  • Python编程快速上手——正则表达式查找功能案例分析

    Python编程快速上手——正则表达式查找功能案例分析 正则表达式是一种强大的文本处理工具,可以用于字符串匹配、替换、分割等操作。在Python中我们可以使用re模块来实现正则表达的相关操作。本攻略将详细讲解Python编程快速上手——正则表达式查找功能案例分析,包括如何正则表达式实现常见的文本处理需求。 re模块的基本用法 在Python中,我们可以使用r…

    python 2023年5月14日
    00
  • python游戏实战项目之智能五子棋

    Python游戏实战项目之智能五子棋 介绍 本项目是一个基于Python语言的智能五子棋游戏,主要通过搭建一个简单的图形化界面来展现五子棋的游戏过程,同时该游戏还带有强大的人工智能,可以实现和人类玩家的对战,并且在难度设置上也是非常灵活的。 开始 环境要求 为了运行该项目,你需要满足以下环境要求: Python 3.x PyQt5 Numpy Scipy 项…

    python 2023年6月3日
    00
  • Python连接Hadoop数据中遇到的各种坑(汇总)

    Python连接Hadoop数据中遇到的各种坑(汇总) 在Python中连接Hadoop数据时,可能会遇到各种各样的问题。本文将详细讲解Python连接Hadoop数据中遇到的各种坑,包括Hadoop连接方式、Python库的选择、Hadoop数据读取和写入等问题。在过程中,提供两个示例说明,助读更好地理解问题的解决方法。 Hadoop连接方式 在Pytho…

    python 2023年5月13日
    00
  • Python中格式化字符串的四种实现

    Python中格式化字符串的四种实现指的是在Python中对字符串的格式控制。以下是这四种实现的详细介绍: 1. 使用f-string f-string 是在Python 3.6中引入的一种格式化字符串的方法。其中 f 表示 format(格式),后面跟着一个字符串。在这个字符串中,使用大括号来标识需要格式化的变量。 下面是一个示例: name = ‘Tom…

    python 2023年6月5日
    00
  • python Polars库的使用简介

    Python Polars库使用简介 什么是Polars库 Polars是一个开源的基于Rust编写的Python数据操作库。Polars库旨在使数据操作更快、更可靠和更易于使用。它的灵感来自于Pandas,并使用了类似于Numpy和Pandas的数据模型。 安装Polars库 要安装Polars库,可以使用pip命令,如下所示: pip install p…

    python 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部