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

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

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 BeautifulSoup
html_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获取标签属性,如classid
    2. tag = soup.find('a', class_='sister')
      print(tag.attrs)
      1. 获取文本:使用.text属性提取标签内的文本内容:
      2. print(tag.text)

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

        from bs4 import BeautifulSoup
        import requests
        url = 'https://www.qiushibaike.com/'
        response = requests.get(url)
        html = response.text
        soup = 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

    你可能感兴趣的文章
    nodejs http小爬虫
    查看>>
    nodejs libararies
    查看>>
    nodejs npm常用命令
    查看>>
    Nodejs process.nextTick() 使用详解
    查看>>
    nodejs 创建HTTP服务器详解
    查看>>
    nodejs 发起 GET 请求示例和 POST 请求示例
    查看>>
    NodeJS 导入导出模块的方法( 代码演示 )
    查看>>
    nodejs 开发websocket 笔记
    查看>>
    nodejs 的 Buffer 详解
    查看>>
    nodejs 读取xlsx文件内容
    查看>>
    nodejs 运行CMD命令
    查看>>
    Nodejs+Express+Mysql实现简单用户管理增删改查
    查看>>
    nodejs+nginx获取真实ip
    查看>>
    nodejs-mime类型
    查看>>
    NodeJs——(11)控制权转移next
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    NodeJS、NPM安装配置步骤(windows版本)
    查看>>
    nodejs与javascript中的aes加密
    查看>>
    nodejs中Express 路由统一设置缓存的小技巧
    查看>>
    nodejs中express的使用
    查看>>