当前位置: 首页 > news >正文

品牌建设运用经济生活知识百度seo排名优化联系方式

品牌建设运用经济生活知识,百度seo排名优化联系方式,第三方检测机构,宁夏省建筑信息平台30岁程序员学习Python的第二天之网络爬虫的信息提取 BeautifulSoup库 地址:https://beautifulsoup.readthedocs.io/zh-cn/v4.4.0/ 1、BeautifulSoup4安装 在windows系统下通过管理员权限运行cmd窗口 运行pip install beautifulsoup4 测试实例 import requests…

30岁程序员学习Python的第二天之网络爬虫的信息提取

BeautifulSoup库

地址:https://beautifulsoup.readthedocs.io/zh-cn/v4.4.0/

1、BeautifulSoup4安装

在windows系统下通过管理员权限运行cmd窗口
运行pip install beautifulsoup4
在这里插入图片描述
测试实例

import requests
from bs4 import BeautifulSoup
r = requests.get('https://python123.io/ws/demo.html')
print(r.text)
demo = r.text
soup = BeautifulSoup(demo, 'html.parser')
print(soup.prettify())

在这里插入图片描述
注:prettify() 方法将Beautiful Soup的文档树格式化后以Unicode编码输出,每个XML/HTML标签都独占一行

2、BeautifulSoup库基本信息

Beautiful Soup库是解析、遍历、维护“标签树”的功能库
BeautifulSoup库是标签Tag进行解析的。
例:<p calss=“title”> … </p> 每个标签都是成对出现的,并且在第一个标签上可以有多个属性值

可通过以下语句导入beautiful Soup库

from bs4 import BeautifulSoup
或
import bs4
BeautifulSoup的解析器

在这里插入图片描述

BeautifulSoup类的基本元素

在这里插入图片描述

如何通过解析获取每个标签内容

1、获取Tag的名字:<tag>.name

soup = BeautifulSoup(demo, 'html.parser')
print(soup.title.name)

在这里插入图片描述
2、获取Tag的attrs(属性):<tag>.attrs

soup = BeautifulSoup(demo, 'html.parser')
print(soup.a.attrs)
print(soup.a['href'])
print(soup.a['id'])

在这里插入图片描述
3、获取Tag内的NavigableString(非属性字符串):<tag>.string

soup = BeautifulSoup(demo, 'html.parser')
print(r.text)
print(soup.a.string)

在这里插入图片描述
4、获取Tag内字符串的注释部分Comment:

newsoup = BeautifulSoup("<b><!--这是注释--></b><p>这不是注释</p>", "html.parser")
print(newsoup.b.string)
print(type(newsoup.b.string))
print(newsoup.p.string)
print(type(newsoup.p.string))

在这里插入图片描述
Comment是一种特殊的类型,可通过这个判断非属性字符串是否是注释。

3、基于bs4遍历HTML页面的内容

HTMl页面按标签划分是二叉树的形式
在这里插入图片描述
所以在进行HTML内容遍历时,可分为横向遍历和纵向遍历。

纵向遍历
向下遍历

在这里插入图片描述

soup = BeautifulSoup(demo, 'html.parser')
print(soup.head.contents)
print(soup.body.contents)
for child in soup.body.children:print(child)

向上遍历

在这里插入图片描述

soup = BeautifulSoup(demo, 'html.parser')
print(soup.title.parent)
print(soup.html.parent)
for parent in soup.a.parents:if parent is None:print(parent)else:print(parent.name)

在这里插入图片描述

横向遍历

在这里插入图片描述
平行遍历发生在同一个父节点下的各节点间

soup = BeautifulSoup(demo, 'html.parser')
print(soup)
print(soup.title.next_sibling)
print(soup.body.previous_sibling)
for sibling in soup.a.next_siblings:print(sibling)
for prev in soup.a.previous_siblings:print(prev)

在这里插入图片描述

4、基于bs4的HTML的内容查找

搜索方法:find() 和 find_all()

find_all()

<>.find_all(name, attrs, recursive, string, **kwargs)
返回一个列表类型,存储查找的结果
name 对标签名称的检索字符串
可通过name参数进行html页面进行标签名称检索,也可传True,检索全部的标签信息

soup = BeautifulSoup(demo, 'html.parser')
print(soup.find_all('a'))

在这里插入图片描述
attrs: 对标签属性值的检索字符串,可标注属性检索

soup = BeautifulSoup(demo, 'html.parser')
print(soup.find_all('p','course'))
print(soup.find_all(id='link1'))

在这里插入图片描述
recursive: 是否对子孙全部检索,默认True

soup = BeautifulSoup(demo, 'html.parser')
print(soup.find_all('p'))
print(soup.find_all('p', recursive=False))

在这里插入图片描述
string: <>…</>中字符串区域的检索字符串

soup = BeautifulSoup(demo, 'html.parser')
print(soup.find_all(string='Basic Python'))

在这里插入图片描述
扩展方法:
在这里插入图片描述

http://www.cadmedia.cn/news/15994.html

相关文章:

  • 企业网站查询系统官网seo哪个软件好
  • 东莞洪梅网站建设百度网盘客服电话人工服务
  • 阜南网站建设今天最新的新闻
  • 划分切片来做网站平台推广引流
  • 云南省城乡住房建设厅网站2345网止导航
  • 网易企业邮箱怎么撤回邮件郑州seo培训班
  • 建国外网站需要多少钱现在广告行业好做吗
  • 苏州市住房和城乡建设局网站免费二级域名注册网站有哪些
  • 小学学校网站设计模板免费html网站制作成品
  • 5个免费安全的资源网站免费信息推广网站
  • wordpress ck video抖音seo优化公司
  • 贵阳市网站建设公司网站发稿平台
  • 武汉模板开发建站百度搜索引擎优化指南最新版
  • 王晴儿网站建设方案济南seo排名优化推广
  • 北京商业设计网站一个产品的市场营销策划方案
  • 爱用建站 小程序网站建设费用明细表
  • 网站建设整体方案成都网站seo服务
  • 手机版网站建设软件佛山企业用seo策略
  • 网站建设策划实训总结网站制作价格
  • 企业网站的劣势百度推广渠道商
  • 海南房产网站开发交换链接营销实现方式解读
  • 个人名义做网站能备案吗网络推广免费平台
  • 北京建网站软件微信朋友圈营销文案
  • 免费注册com的网站semir
  • 上海到北京飞机几个小时重庆网站优化排名推广
  • 云南网站制作报价发布平台
  • 网络营销常用的方法包括南通关键词优化平台
  • 办公室装修设计软件seo工资服务
  • 网站制作一条龙全包2021近期时事新闻热点事件简短
  • 宝鸡住房和城市建设局网站百度在线人工客服