码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-12-29 12:19:07      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:tag   循环输出   col   实用   fun   nts   python3   输出   循环   

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基础用法

标签:tag   循环输出   col   实用   fun   nts   python3   输出   循环   

原文地址:https://www.cnblogs.com/lizm166/p/8143231.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!