获取html片段可以用来做什么?

可以用来分割,也可以分析HTML文档

beautifulsoup用法?

安装beautifulsoup库: pip install beautifulsoup4

因为bs里面缺省的库对html的兼容性不够,还要安装一个库来实现: pip install html5lib

下面附上bs1.html代码截图:

    

通过代码实现:

# BS操作对象是字符串,假设要对某个html文本作分析,就要先将文本的字符串读出来。

with open('bs.html',encoding='utf8') as f:

html_doc = f.read()

# 导入相关库,html5lib不用导入,BS会自动引用

from bs4 import BeautifulSoup

# 指定用HTML5lib来解析文档

soup = BeautifulSoup(html.doc, 'html5lib')   # 第一个参数是要解析的文本,第二个参数指定是用htmllib库来解析的

# print(soup.title)   # 打印出第一个title的内容

# print(soup.find('title'))

# print(soup.title.name)  # 获取标签名

# 获取tag(标签)文本内容

# print(soup.title.string)

# 也可以:

# print(soup.title.get_text())

# 如果要获取tag的父节点tag

# print(soup.title.parent)

# print(soup.title.parent.name)

# 如果要获取元素的属性值

# print(soup.div['id'])

# print(soup.p['style'])

# print(soup.a)  只找到第一个标签

# print(soup.find_all('a'))  找到所有的a标签

# print(soup.find_all('a')[1])  找到第二个a标签  根据下标

# print(soup.find('a', id='link1'))   根据id属性来查找相应的a标签

# print(soup.find('a', href='http://example.com/lacie'))   # 根据超链接来查找相应的a标签

webdriver提供的八种基本元素定位:

通过id属性选择元素:find_element_by_id()

通过name属性选择元素:find_element_by_name()

通过classs属性选择元素:find_element_by_class_name()

通过tag(标签)属性选择元素:find_element_by_tag_name()

通过link选择元素:find_element_by_link_text()

通过partial_link(模糊匹配的方式)定位:find_element_by_partial_link_text()

通过xpath选择元素:find_element_by_xpath()

通过css选择元素:find_element_by_css_selector()

最新文章

  1. JAVA通信系列三:Netty入门总结
  2. Euclid求最大公约数
  3. 使用pngquant命令近乎无损压缩PNG图片大小减少70%左右
  4. java中流转化为Object可序列化
  5. 怎样在excel中添加下拉列表框
  6. linux包之iproute之ss命令
  7. DataTable.Select
  8. OpenJudge/Poj 1191 棋盘分割
  9. C语言可变参数在宏定义中的应用
  10. Java的native关键字---JAVA下调用其他语言的关键词
  11. poj3320 (尺取法)
  12. android引入百度地图之最简单的例子-HelloBaiDuMap
  13. 服务器:SATA、PATA及IDE的比较
  14. 【Linux基础】查看某一端口是否开放(1025为例)
  15. scipy插值与拟合
  16. Faster R-CNN:详解目标检测的实现过程
  17. xcode代码提示没了
  18. cordova网络情况检测插件使用:cordova-plugin-network-information
  19. .NET Core微服务之路:文章系列和内容索引汇总 (v0.52)
  20. Python Web简单加法器的实现--Python

热门文章

  1. JS简单循环遍历json数组的方法
  2. PHP 教你使用 Swoole-Tracker 秒级定位 PHP 卡死问题
  3. 前后端分离,我怎么就选择了 Spring Boot + Vue 技术栈?
  4. nyoj 49-开心的小明(动态规划, 0-1背包问题)
  5. Python 编程语言要掌握的技能之一:善用变量来改善代码质量
  6. socket解决编码解码问题
  7. 使用 buildx 构建多平台 Docker 镜像
  8. selenium常用命令之页面元素定位
  9. Docker部署Mysql集群
  10. Nginx负载均衡、SSL原理、生成SSL密钥对、Nginx配置SSL