python——bs4解析网页数据

简介

        bs4(Beautifulsoup)是html的解析器,主要的功能是解析和提取数据。

        缺点是:效率不是很高。优点是:接口设计人性化,使用方便。

安装以及创建

        1. 安装

                pip install bs4

        2. 导入

                from bs4 import BeautifulSoup

        3. 创建对象

        服务器响应文件生成对象:

                soup = BeautifulSoup(response.read().decode(), 'lxml')

                'lxml'是python第三方库,一个解析器,用于解析HTML代码。

        本地文件生成对象:

                soup = BeautifulSoup(open('1.html'), 'lxml')

                注意:默认打开方式的编码格式为gbk,所以需要指定打开编码格式。

节点定位

  • 根据签名查找节点

        soup.a 只能找到匹配的第一个数据

        soup.a.attrs 找到第一个符合标签数据的属性和属性值

  • 函数

1. find:

2. find_all:

3. select:

 节点信息

        获取节点内容

        obj.string

        obj.get_text()

        获取节点的属性

 爬取星巴克数据

        进入星巴克官网/菜单,F12获取到网页链接。查看网页源码,查看菜单数据所在标签。是在属性值为class="grid padded-3 product"的ul标签下的strong标签里。

import requests

#星巴克菜单地址
url = 'https://www.starbucks.com.cn/menu/'
#获得星巴克菜单源码
req = requests.get(url = url)
content = req.text

from bs4 import BeautifulSoup
#解析菜单数据
soup = BeautifulSoup(content, 'lxml')
name_list = soup.select("ul[class=\"grid padded-3 product\"] strong")

for name in name_list:
    print(name.get_text())

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值