Python3.6:bs4解析html基础用法

Posted 整合侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python3.6:bs4解析html基础用法相关的知识,希望对你有一定的参考价值。

Python3.6:bs4解析html基础用法

代码:

import urllib.request
from bs4 import BeautifulSoup
import re

url = rhttp://fund.eastmoney.com/340007.html?spm=search
headers = {
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36}
req = urllib.request.Request(url=url, headers=headers)
res = urllib.request.urlopen(req)
html = res.read().decode(utf-8)

# html字符串创建BeautifulSoup对象
soup = BeautifulSoup(html, "html.parser")
#或者soup = BeautifulSoup(html, "html5lib")
#输出第一个 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])
#输出第一个  p 标签的所有子节点
print(soup.p.contents)
#输出第一个  a 标签
print(soup.a)
#输出所有的  a 标签,以列表形式显示
print(soup.find_all(a))
#输出第一个 id 属性等于  gz_gszze 的标签
print(soup.find(id=gz_gszze))
#输出第一个 id 属性等于  gz_gszze 的标签的文本内容
print(soup.find(id=gz_gszze).get_text())
#获取所有文字内容
print(soup.get_text())
#输出第一个  a 标签的所有属性信息
print(soup.a.attrs)
#循环a标签
for link in soup.find_all(a):
    #获取 link 的  href 属性内容
    print(link.get(href))

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

#正则匹配,标签名字中带有sp的标签
for tag in soup.find_all(re.compile("sp")):
    print(tag.name)
#按照CSS类名搜索tag的功能非常实用,但标识CSS类名的关键字 class 在Python中是保留字,使用 class 做参数会导致语法错误.从Beautiful Soup的4.1.1版本开始,可以通过 class_ 参数搜索有指定CSS类名的tag
#查找dl标签class为dataItem02的所有dl标签
for tag in soup.find_all("dl", class_="dataItem02"):
    print(tag.name)
#或者
for tag in soup.find_all(dl, attrs={class: "dataItem02"}):
    print(tag.name)

 

以上是关于Python3.6:bs4解析html基础用法的主要内容,如果未能解决你的问题,请参考以下文章

bs4和xpath的用法

Python爬虫 BeautifulSoup(bs4)-- bs4介绍安装bs4bs4基础语法

Python爬虫 BeautifulSoup(bs4)-- bs4介绍安装bs4bs4基础语法

全网最全python爬虫系统进阶学习(附原代码)学完可就业

96python version 3.6 required,which was not fount in the registry(python3.6安装scrapy)

全网最全python爬虫系统进阶学习(附原代码)学完可就业