beautifulsoup 解析html方法(爬虫)

9 篇文章 0 订阅
7 篇文章 0 订阅

用BeautifulSoup 解析html和xml字符串

对象参数说明
实例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
from bs4 import BeautifulSoup
import re

#待分析字符串
html_doc = """
<html>
<head>
    <title>The Dormouse's story</title>
</head>
<body>
<p class="title aq">
    <b>
        The Dormouse's story
    </b>
</p>

<p class="story">Once upon a time there were three little sisters; and their names were
    <a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
    <a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> 
    and
    <a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
    and they lived at the bottom of a well.
</p>

<p class="story">...</p>
"""


# html字符串创建BeautifulSoup对象
soup = BeautifulSoup(html_doc, 'html.parser', from_encoding='utf-8')

#输出第一个 title 标签
print soup.title

#输出第一个 title 标签的标签名称
print soup.title.name

#输出第一个 title 标签的包含内容
print soup.title.string

#输出第一个 title 标签的父标签的标签名称
print soup.title.parent.name

#输出第一个  p 标签
print soup.p

#输出第一个  p 标签的 class 属性内容
print soup.p['class']

#输出第一个  a 标签的  href 属性内容
print soup.a['href']
'''
soup的属性可以被添加,删除或修改. 再说一次, soup的属性操作方法与字典一样
'''
#修改第一个 a 标签的href属性为 http://www.baidu.com/
soup.a['href'] = 'http://www.baidu.com/'

#给第一个 a 标签添加 name 属性
soup.a['name'] = u'百度'

#删除第一个 a 标签的 class 属性为
del soup.a['class']

##输出第一个  p 标签的所有子节点
print soup.p.contents

#输出第一个  a 标签
print soup.a

#输出所有的  a 标签,以列表形式显示
print soup.find_all('a')

#输出第一个 id 属性等于  link3 的  a 标签
print soup.find(id="link3")

#获取所有文字内容
print(soup.get_text())

#输出第一个  a 标签的所有属性信息
print soup.a.attrs


for link in soup.find_all('a'):
    #获取 link 的  href 属性内容
    print(link.get('href'))

#对soup.p的子节点进行循环输出    
for child in soup.p.children:
    print(child)

#正则匹配,名字中带有b的标签
for tag in soup.find_all(re.compile("b")):
    print(tag.name)


爬虫设计思路:

爬虫设计思路

详细手册:

https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/

  • 11
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 使用BeautifulSoup可以方便地解析HTML文档。首先需要安装BeautifulSoup库,然后导入库并使用BeautifulSoup函数将HTML文档转换为BeautifulSoup对象。接着可以使用BeautifulSoup对象的各种方法来获取HTML文档中的各种元素,例如标签、属性、文本等等。最后可以对获取到的元素进行处理和操作,例如提取信息、修改内容等等。 ### 回答2: BeautifulSoup是一个用于解析HTMLXML的Python库。使用BeautifulSoup可以方便地从HTML文档中提取所需的数据信息。 首先,需要安装BeautifulSoup库。使用pip命令可以很方便地安装这个库。 import requests from bs4 import BeautifulSoup 然后,可以利用requests库发送HTTP请求,获取HTML文档的内容。 response = requests.get(url) html_content = response.text 接下来,可以使用BeautifulSoup库来解析HTML文档。可以创建一个BeautifulSoup对象,将HTML内容作为参数传入。 soup = BeautifulSoup(html_content, 'html.parser') 接下来,可以利用soup对象提供的各种方法来获取和操作HTML文档的内容。例如,可以通过标签名字来获取特定的元素。 title = soup.title print(title.text) 可以通过选择器来获取特定的元素。 paragraphs = soup.select('p') for p in paragraphs: print(p.text) 也可以通过属性来过滤元素。 links = soup.find_all('a', class_='link') for link in links: print(link.get('href')) 除了获取元素的文本内容和属性,还可以修改元素的内容,添加新的元素等。 可以根据需要使用BeautifulSoup的不同方法和属性来提取所需的数据。使用BeautifulSoup解析HTML可以简化爬虫或数据抓取的过程,提高效率和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值