python爬虫beautifulsoup解析html方法
用BeautifulSoup 解析html和xml字符串

实例:
#!/usr/bin/python# -*- coding: UTF-8 -*-from bs4 import BeautifulSoupimport 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' rel='external nofollow' id='link1'>Elsie</a>, <a href='http://example.com/lacie' rel='external nofollow' id='link2'>Lacie</a> and <a href='http://example.com/tillie' rel='external nofollow' 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.attrsfor 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/
到此这篇关于python爬虫beautifulsoup解析html方法 的文章就介绍到这了,更多相关beautifulsoup解析html内容请搜索好吧啦网以前的文章或继续浏览下面的相关文章希望大家以后多多支持好吧啦网!
相关文章:
1. JXTA Java标准版本 2.3.7 发布2. JS实现手写 forEach算法示例3. PHP设计模式之迭代器模式浅析4. 用css截取字符的几种方法详解(css排版隐藏溢出文本)5. Spring FreeMarker整合Struts2过程详解6. Android Studio3.6新特性之视图绑定ViewBinding使用指南7. Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)8. python b站视频下载的五种版本9. ASP.NET MVC使用正则表达式验证手机号码10. vue学习笔记之slot插槽用法实例分析

网公网安备