'''
BeautifulSoup4将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种:- Tag
- NavigableString
- BeautifulSoup
- Comment
'''from bs4 import BeautifulSoupfile = open("./baidu.html","rb")
html = file.read().decode("utf-8")
bs = BeautifulSoup(html,"html.parser")#print(bs.title)
#print(bs.a)
#print(bs.head)#print(type(bs.head))#1.Tag  标签及其内容;拿到它所找到的第一个内容# print(bs.title.string)
#
# print(type(bs.title.string))#2.NavigableString  标签里的内容(字符串)#print(bs.a.attrs)#print(type(bs))
#3.BeautifulSoup   表示整个文档#print(bs.name)
#print(bs)# print(bs.a.string)
# print(type(bs.a.string))#4.Comment  是一个特殊的NavigableString ,输出的内容不包含注释符号#-------------------------------#文档的遍历#print(bs.head.contents)
#print(bs.head.contents[1])#更多内容,搜索BeautifulSoup文档#文档的搜索#(1)find_all()
#字符串过滤:会查找与字符串完全匹配的内容
# t_list = bs.find_all("a")import re
#正则表达式搜索:使用search()方法来匹配内容
#t_list= bs.find_all(re.compile("a"))# 方法  : 传入一个函数(方法),根据函数的要求来搜索  (了解)
# def name_is_exists(tag):
#     return tag.has_attr("name")
#
# t_list = bs.find_all(name_is_exists)
#
#
# for item in t_list:
#     print(item)#print(t_list)#2.kwargs   参数#t_list= bs.find_all(id="head")
#t_list = bs.find_all(href="http://news.baidu.com")
#t_list = bs.find_all(class_=True)# for item in t_list:
#     print(item)#3.text参数#t_list= bs.find_all(text = "hao123")
#t_list = bs.find_all(text =["hao123","地图","贴吧"])#t_list = bs.find_all(text = re.compile("\d"))  #应用正则表达式来查找包含特定文本的内容(标签里的字符串)#4.limit 参数# t_list = bs.find_all("a",limit=3)
#
# for item in t_list:
#     print(item)#css选择器#t_list = bs.select('title')   #通过标签来查找#t_list = bs.select(".mnav")     #通过类名来查找#t_list = bs.select("#u1")   #通过id来查找#t_list = bs.select("a[class='bri']")  #通过属性来查找# t_list = bs.select("head > title")  #通过子标签来查找t_list = bs.select(".mnav ~ .bri")print(t_list[0].get_text())# for item in t_list:
#     print(item)

beautifulsoup4的摘抄相关推荐

  1. CSS 选择器:BeautifulSoup4解析器

    和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. lxml 只会局部遍历,而Beautiful Soup 是基 ...

  2. from beautifulsoup4 import BeautifulSoup 报错

    >>> from beautifulsoup4 import BeautifulSoup Traceback (most recent call last):   File &quo ...

  3. 《大数据时代》----重要理念摘抄

    作者:维克托·迈尔-舍恩伯格 最近看了一本有历史的书<大数据时代>(拿研究成果来说三年前的已经是老成果了),作者对 我们这个大数据时代产生了很多颇有意思的洞见,为了保持原汁原味,我就直接原 ...

  4. Oracle 与SQL Server 2000常用函数对照 [摘抄]

    此文章系摘抄,非原创,供参考. 文中提及函数并非Oracle及SQL Server 的全部功能,尤其分析挖掘函数,并未完全涵盖,请以实际解决问题优先,勿妄谈二者优劣. 1.绝对值 S:select a ...

  5. (摘抄)HTTP 协议详解

    这个是从网上摘抄下来的,原文链接在最底下,原文写的比较详细,我这里只取了一部分自己想要的 什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议( ...

  6. BeanShell用法汇总(部分摘抄至网络)

    说明:本文部分资料摘抄至 来源: http://www.cnblogs.com/puresoul/p/4915350.html 来源: http://www.cnblogs.com/puresoul/ ...

  7. requests库和BeautifulSoup4库爬取新闻列表

    画图显示: import jieba from wordcloud import WordCloud import matplotlib.pyplot as plttxt = open("z ...

  8. python 网页解析库 beautifulsoup4 简介

    HTML 文档本身是结构化的文本,有一定的规则,通过它的结构可以简化信息提取.于是,就有了lxml.pyquery.BeautifulSoup等网页信息提取库.一般我们会用这些库来提取网页信息.其中, ...

  9. linux 统一设备模型 pci,Linux设备驱动模型摘抄

    Linux设备驱动模型摘抄Linux设备驱动模型摘抄Linux设备驱动模型摘抄Linux设备驱动模型摘抄Linux设备驱动模型摘抄 Linux设备驱动模型摘抄(1) Linux统一设备模型 简介 Li ...

最新文章

  1. 1.IocDI和Spring
  2. 链表问题17—— 一种怪异的节点删除方式
  3. 【转载】用开源软件搭建企业内部协作平台, Kill QQ MSN
  4. excite-punastranvirtual.lab振动噪声仿真
  5. UI设计素材模板|完美日期选择器
  6. window.event对象详尽解析
  7. springMVC 简单事例
  8. 从零开始学习编程_从这里开始学习编程
  9. C++ 性能优化篇三《测量性能》
  10. DelayQueue使用
  11. matlab程序特殊符号,MATLAB——matlab特殊符号表【转载】
  12. 测试开发--java
  13. 年终礼品交换潮iPhone、iPad最抢手
  14. 我的第一篇 实习报告
  15. java判断浏览地址是手机还是pc,判断是手机还是PC浏览器的方法
  16. 用鸿蒙开发AI应用(六)UI篇
  17. 成都富华力鼎:抖音直播技巧
  18. phoenix使用总结
  19. java 构造函数和super
  20. 常用第三方开源框架介绍

热门文章

  1. 初识SpringBoot
  2. jmeter5.3设置字条大小及语言
  3. Cookie安全问题与防范
  4. 将小写金额转换为大写金额
  5. 多目标优化算法:多目标水母搜索算法MOJS(提供MATLAB代码)
  6. 软著办理需要多少钱?软著有什么作用?
  7. 1. 机器学习与深度学习——关系、无/半/有监督学习、差异、主流框架
  8. 贵州烟草大数据之一:零售户聚类
  9. python suds_python使用suds调用webservice接口的方法
  10. HarmonyOS(鸿蒙)App项目实战(1)运动手表篇学习笔记