爬取某电影网站最新电影信息——解析网页的BeautifulSoup模块

本题目:爬与某片子网站最新片子疑息——剖析网页的BeautifulSoup模块

BeautifulSoup是python的一个剖析.遍历.保护网页文档”标签”的功用库模块,其次要功用是从衔接的网站上经过剖析文档抓与网页数据.BeautifulSou热门p模块供给了一些功用函数用去处置导航.搜刮.修正剖析树等.
BeautifulSoup模块运用时没有需求思索编码体例,它主动将输出文档转换为Unicode编码,输入文档转换为utf-8编码.
01
装置BeautifulSoup模块
BeautifulSoup模块没有是Pyton零碎自带模块,因而,正在运用前必需用pip装置该模块.用pip装置BeautifulSoup模块的号令以下:
pip installbeautifulsoup4
装置后果如图9.4所示.

图9.4 装置BeautifulSoup模块
02
BeautifulSoup模块的根本元素
BeautifulSoup模块的根本元素如表9-2所示.
表9-2 BeautifulSoup模块的根本元素
03
HTML标签及标签树
1

标签
HTML文档的语句称为标签,比方:
2

”标签树”
正在剖析网页文档的进程中,需求使用BeautifulSoup模块对HTML内容停止遍历.
设有以下的一个HTML文档:
<html>
<head>
….
</head>
<body>
<pclass=”title”>The demo Python Project. </p>
<pclass=”course”>Python is a programming language.
<ahref=”http://www.icourse163.com”>Basic Python </a>
<ahref=”http:..www.python.org”>Advanced Python </a>
</p>
</body>
</html>
将其文档标签画成树形构造,该构造称为”标签树”,如图9.5所示.

图9.5 ”标签树”
04
BeautifulSoup模块对网页页里元素定位办法
设界说BeautifulSoup模块剖析器工具为soup,则按网页页里中的标签元素停止定位的办法如表9-3所示.
表9-3 BeautifulSoup模块工具的经常使用疑息提与办法
1

经过标署名定位
例:设有HTML文档的代码以下
<table>
<td>apple </td>
<td>banana </td>
<table>

soup.find( ”td”) # 前往第一个”<td></td>”节面
soup.find_all( ”td”) # 前往一切的”<td></td>”节面
2

经过标签属性定位
例:设有HTML文档的代码以下
<table&育儿gt;
<tdname=”fruit”>apple </td>
<tdname=”fruit”>apple </td>
</table>

soup.find(name= ”fruit”) # 前往第一个”<td></td>”节面
soup.find_all(name= ”fruit”) # 前往一切的”<td></td>”节面
3

经过标署名 属性定位
例:设有HTML文档的代码同(2),则
soup.find( ”td”,{ ”name”: ”fruit”}) # 前往第一个”<td></td>”节面
soup.find_all( ”td”,{ ”name”: ”fruit”}) # 前往一切的”<td></td>”节面
4

经过text定位
例:设有HTML文档的代码同(2),则
soup.find(text= ”apple”) # 前往第一个”<td></td>”节面
05
使用示例
[例9-3] 爬与某片子网站最新片子疑息.
翻开某片子网站:
https://movie.douban.com/cinema/nowplaying/xiamen/
其页里如图9.6所示.

图9.6 某片子网站
1

获得网站页里的HTML代码
url = ”https://movie.douban.com/cinema/nowplaying/xiamen/”
headers = {
”USER-Agent”: UserAgent.chrome
}
req = request.Request(url, headers = headers)
resp = request.urlopen(req)
html_data=resp. read.decode
print(html_data)
2

创立剖析器工具
正在阅读器按下F12键进进调试页里.正在调试页里的代码中,当鼠标逗留正在某代码止时,右边网页页里需求选中的栏目板块被灰色掩盖,如图9.7所示.

图9.7正在阅读器按下F12键进进调试页里
正在调试页里的代码中,找到片子称号,如图9.8所示.

图9.8 调试页里中片子称号等疑息
从图9.6中能够看到,片子称号等疑息放正在<div id = ”upcoming”>地区块中,此中标签<li class=”list-item”>显现详细疑息内容.
因而,能够运用剖析器工具对其标签属性停止定位:
soup= bs(html_data, ”html.parser”) # 构建一个剖析器
nowplay1= soup.find_all( ”div”, id= ”nowplaying”)
nowplay2= nowplay1[ 0].find_all( ”li”, class_ = ”list-item”)
3

经过轮回,剖析出一切片子称号疑息
foritem in nowplay2:
nowplay_dict[ ‘id’] = item[ ‘id’]
nowplay_dict[ ‘name’] = item[ ‘data-title’]
nowplay_list. append(nowplay_dict)
4

完好顺序以下

顺序运转后果如图9.9所示.

图9.9 爬与某片子网站最新片子称号
06
视频解说
07
参考册本
<>
ISBN:9787302567691
做者:张思平易近
订价:49.8元

08
出色引荐

鲲鹏架构进门取真战︱鲲鹏使用迁徙(附代码)
<>尝试指点书(附尝试参考 代码)
Python爬虫综开真战 │ 创立云起书院爬虫(附代码)
Python爬虫真战 │ Email提示(附代码)
Python深度进修 │一文把握卷积神经收集
Python边做边教︱商品列表疑息爬与(附代码)
P ython爬虫真战│形态521网页的爬与
Python爬虫真战│爬与气候数据的真例详解(附源码)
Python真训:用贪心算法剖析营业员途径成绩|附源码 前往new.jpwyj.com,检查更多

未经允许不得转载:新资讯 » 爬取某电影网站最新电影信息——解析网页的BeautifulSoup模块

赞 (0)

评论 0

评论前必须登录!

登陆 注册