博客
关于我
python爬虫beautifulsoup4系列2
阅读量:472 次
发布时间:2019-03-06

本文共 1486 字,大约阅读时间需要 4 分钟。

BeautifulSoup入门:从基础到实践

一、读取HTML页面

首先,我们需要一个简单的HTML页面。将以下代码复制到一个文件中,保存为example.html:

    
yoyo ketang

yoyoketang

这里是我的微信公众号:yoyoketang fiddler, python, selenium; 快来关注吧!

将这个文件和脚本放在同一个文件夹下,使用Python的open函数读取HTML文件:

with open('example.html', 'r', encoding='utf-8') as f:    content = f.read()print(content)

二、解析器:html.parser

BeautifulSoup的BeautifulSoup类可以接收一个解析器参数。传入'html.parser'即可,无需额外安装:

from bs4 import BeautifulSouphtml_content = """    
yoyo ketang

yoyoketang

这里是我的微信公众号:yoyoketang fiddler, python, selenium; 快来关注吧!

"""soup = BeautifulSoup(html_content, 'html.parser')print(soup.prettify())

三、BeautifulSoup对象的类型

BeautifulSoup将HTML解析为四种主要对象:

  • Tag:标签对象,如<p class="title">。
  • NavigableString:文本对象,如这里是我的微信公众号:yoyoketang。
  • BeautifulSoup:整个文档对象。
  • Comment:注释对象,如<!-- for HTML5 -->。
  • 四、Tag对象

  • 获取标签:通过.find_all()方法查找标签,如查找<p>标签:
  • tags = soup.find_all('p')for tag in tags:    print(tag.name)
    1. 访问属性:使用.attrs获取标签属性,如class和id:
    2. tag = soup.find('a', class_='sister')print(tag.attrs)
      1. 获取文本:使用.text属性提取标签内的文本内容:
      2. print(tag.text)

        五、实战案例:爬取糗事百科首页段子

        from bs4 import BeautifulSoupimport requestsurl = 'https://www.qiushibaike.com/'response = requests.get(url)html = response.textsoup = BeautifulSoup(html, 'html.parser')duanzi_list = soup.find_all('div', class_='content')for duanzi in duanzi_list:    print(duanzi.find('span').text)

        关注我 | Python接口自动化交流

        欢迎加入Python接口自动化交流群:226296743

    你可能感兴趣的文章
    Python 抓取网页乱码问题 以及EXCEL乱码
    查看>>
    python 抓取网页内容
    查看>>
    python 按照当前日期创建文件
    查看>>
    Python 接口并发测试详解
    查看>>
    Python 接口自动化 —— requests框架
    查看>>
    python 接口自动化数据结构(如列表、字典、元组)
    查看>>
    Python 接口自动化测试中的深拷贝与浅拷贝~
    查看>>
    Python 接口自动化测试中的高阶函数
    查看>>
    python 控制 cmd 命令行颜色
    查看>>
    Python 操作 Azure Blob Storage
    查看>>
    Python 操作 Excel 全攻略 | 包括读取、写入、表格操作、图像输出和字体设置
    查看>>
    Python 操作 JMeter 探索:pymeter 实操指南
    查看>>
    Python 操作 Redis
    查看>>
    Python 操作Mysql(PyMysql)
    查看>>
    Python 操作Redis
    查看>>
    Python 操作sqlite数据库及保存查询numpy类型数据(一)
    查看>>
    Python 操作sqlite数据库及保存查询numpy类型数据(二)
    查看>>
    Python 数据文件与网络数据序列化存储详解
    查看>>
    Python 数据结构与算法详解
    查看>>
    Python 数据采集、清洗、整理、分析以及可视化实战
    查看>>