我是靠谱客的博主 快乐夕阳,最近开发中收集的这篇文章主要介绍python网络爬虫(第五章:bs4之数据解析)1.bs4数据解析环境安装实例化对象bs4属性和方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.bs4数据解析

数据解析的原理:1.标签定位 2.提取标签、标签属性中存储的数据值
bs4数据解析的原理:

1.实例化一个BeautifulSoup对象,并且将页面源码数据加载到该对象中
2.通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取。

环境安装

pip install bs4 pip install lxml
或者PyCharm中的file—>Settings—>Project Interpreter—>点击【+】—>分别输入bs4和lxml
或者在anaconda prompt中直接输入pip install bs4和pip install lxml

实例化对象

1.将本地的html文档中的数据加载到该对象中

    fp=open('./test.html','r',encoding='utf-8')
    soup = BeautifulSoup(fp,'lxml')

2.将互联网上获取的页面源码加载到该对象中

    page_text = response.text
    soup = BeautifulSoup(page_text,'lxml')

bs4属性和方法

fp=open('./test.html','r',encoding='utf-8')
soup = BeautifulSoup(fp,'lxml')
    
1.soup.tagName:返回的是文档中第一次出现的tagName对应的标签
2.soup.find():
	find('tagName'):等同于soup.div 如soup.find('div')
	属性定位:soup.find('div',class_='song')  #这里的是class_ 不是class,表示的是div属性中的class_属性的div属性 如soup.find('div',class_='song')

3.soup.find_all('tagName'):返回符合要求的所有标签(列表)如:soup.find_all('a')
4.select: select('某种选择器(id,class,标签...选择器)') 返回的是一个列表
	层级选择器:
		soup.select('.tang > ul > li > a') #其中 >表示的是一个层级
		soup.select('.tang > ur a')  #空格表示的多个层级

获取标签之间的文本数据

fp=open('./test.html','r',encoding='utf-8')
soup = BeautifulSoup(fp,'lxml')

# 获取标签之间的文本数据
soup.标签名称.text/string/get_text()
	-text/get_text():获取该标签中所有的文本内容
	-string:只可以获取该标签下面直系的文本内容

如:soup.find('div',class_='song').text
    soup.find('div',class_='song').string
以上运行结果完全不同

获取标签中属性值

fp=open('./test.html','r',encoding='utf-8')
soup = BeautifulSoup(fp,'lxml')

soup.标签名称['属性名称']

在这里插入图片描述

备注:因没有合适的HTML文本,因此本文均没有实战演示,待后期补上

最后

以上就是快乐夕阳为你收集整理的python网络爬虫(第五章:bs4之数据解析)1.bs4数据解析环境安装实例化对象bs4属性和方法的全部内容,希望文章能够帮你解决python网络爬虫(第五章:bs4之数据解析)1.bs4数据解析环境安装实例化对象bs4属性和方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(74)

评论列表共有 0 条评论

立即
投稿
返回
顶部