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爬取京东商品信息评论存并进MySQL

    Python爬取京东商品信息评论存并进MySQL 本攻略将介绍如何使用Python爬取京东商品信息评论,并将其存储到MySQL数据库中。我们将使用Python的requests库和BeautifulSoup库来获取和解析京东商品信息评论,使用pymysql库来连接和操作MySQL数据库。 获取京东商品信息评论 我们可以使用Python的requests库来获…

    python 2023年5月15日
    00
  • Python将内容进行base64编码与解码实现

    下面是对Python进行base64编码与解码的完整攻略: 1. Python base64编码方法简介 在Python中,base64编码是一个常用的编码方式,用于将二进制数据转换为可打印的ASCII码文本格式。base64编码的基本原理是将3个8位的字节转变为4个6位的字节,然后在每个6位字节前面添加两个0,使它变为8位的字节,最后将转换后的二进制数据进…

    python 2023年5月31日
    00
  • 基于Python实现自动化文档整理工具

    基于Python实现自动化文档整理工具 简介 在项目开发过程中,常常需要整理文档,但手动整理耗时耗力且易出错。因此,本文将介绍一种基于Python实现的自动化文档整理工具。 步骤 安装Python 首先需要安装Python,建议安装最新版本的Python 3。 安装依赖包 需要安装两个第三方依赖包,分别是evalml和pandas,使用pip命令安装即可。 …

    python 2023年5月19日
    00
  • pip报错“ImportError: cannot import name ‘main’ from ‘pip._internal.cli.req_command’ (/usr/lib/python3/dist-packages/pip/_internal/cli/req_command.py)”怎么处理?

    当使用 pip 安装 Python 包时,可能会遇到 “AttributeError: ‘NoneType’ object has no attribute ‘splitlines'” 错误。这个错误通常是由于 pip 安装不正确或者版本不兼容导致的。以下是详细讲解 pip 报错 “AttributeError: ‘NoneType’ object has …

    python 2023年5月4日
    00
  • Python如何利用%操作符格式化字符串详解

    当我们需要将一些变量的值插入到字符串中时,可以使用%操作符来格式化字符串。这种方法使用起来很简单,但是需要注意语法。 基本语法 基本语法如下: "字符串%s" % 变量 其中,字符串中的%s表示一个占位符,它会在后续的操作中被变量替换。而%操作符后面的变量就是我们要插入的值。需要注意的是,如果变量有多个,需要将它们放在一个元组中,然后在%…

    python 2023年6月5日
    00
  • 详解Python with/as使用说明

    我来详细讲解一下“详解Python with/as使用说明”。 标题 首先,在markdown中,我们使用#号表示标题,一级标题需要一个#号,二级标题需要两个#号,以此类推。 with和as with和as是Python中的两个关键字,用于管理资源。with语句可以自动管理资源,即无论任何情况下,代码块执行完毕后,所处的上下文环境都会自动清理资源,例如关闭文…

    python 2023年5月13日
    00
  • Python正则表达式反对Latin-1字符编码?

    【问题标题】:Python regex against Latin-1 character encoding?Python正则表达式反对Latin-1字符编码? 【发布时间】:2023-04-05 02:08:02 【问题描述】: 我有一个包含(我相信)latin-1 编码的文件。 但是,我无法将正则表达式与此文件匹配。 如果我 cat 文件,它看起来很好:…

    Python开发 2023年4月6日
    00
  • 关于vscode 默认添加python项目的源目录路径到执行环境的问题

    关于 VSCode 默认添加 Python 项目的源目录路径到执行环境的问题,我可以提供以下攻略: 问题背景 在使用 VSCode 编写 Python 代码时,默认情况下,VSCode 会将 Python 项目的源目录路径添加到 Python 解释器的执行环境中。这一设置在一些情况下可能会导致问题,比如代码引用了其他模块时找不到模块等。 解决方法 我们可以根…

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