2025年3月31日 星期一 乙巳(蛇)年 正月初一 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

爬虫--Beautiful Soup的使用 bs4

时间:08-16来源:作者:点击数:26
CDSY,CDSY.XYZ

pip instal beautiful soup4 --下载第三方库

中文文档敬上

  • #测试文本
  • HTML = '''
  • <div class="item pc-version">
  • <img src="https://d-image.i4.cn/i4web/static2017/images/pc_banner.jpg" alt="">
  • <img class="pc-open" src="https://d-image.i4.cn/i4web/static2017/images/index_pc_text.jpg" alt="">
  • <div class="item-info">
  • <ul class="info-present">
  • <li id="1">具有独创的云智能一键刷机和一键越狱功能</li>
  • <li id="1">简单易用的备份恢复,数据迁移等高级工具</li>
  • <li id="1">免帐号,免越狱高速安装海量的应用和游戏</li>
  • <li>铃声壁纸彩铃等海量个性化资源任你使用</li>
  • </ul>
  • <a href="http://url.i4.cn/faIfqyaa" onclick="downStart('7', 'V7.98.18');" class="version-box windows-version" id="install1" data-agl-cvt="6">
  • </a>
  • <a href="javascript:;" class="version-box mac-version mac-title-show downloadPopup" id="install2" data-agl-cvt="6"></a>
  • <div class="mac-titles-two" style="opacity: 0; right: -144px;">
  • OS X Catalina 10.15或以上
  • 系统,安装后请使用右键打开
  • </div>
  • </div>
  • </div>
  • '''

获取soup对象

  • soup = BeautifulSoup(HTML,'html.parser') --得到一个soup对象
  • data = soup.prettify() --按照标准的缩进格式的结构输出

简单的浏览结构化数据的方法

  • li = soup.div.li --获取第一个div标签中的l第一个li标签
  • print(li)
  • li = soup.li --获取第一个li标签
  • print(li.string) --输出li标签中的文本
  • li = soup.img --获取第一个img标签
  • print(li)
  • li = soup.li
  • print(li.name) --获取当前标签的标签名
  • li = soup.img['src'] --获取第一个img标签中的src属性的值(id属性,class属性都可以获取)
  • print(li)
  • li = soup.img --同上,get方法取src值,取不到返回第二个参数
  • print(li.get('src','1'))
  • li =soup.li --获取第一个li标签的文字信息,在获取文字信息的父节点
  • print(li.string.parent) --输出为:<li>具有独创的云智能一键刷机和一键越狱功能</li>
  • #获取全部标签与根据条件查询标签
  • img = soup.find_all('img') --获取全部img标签,可以根据索引来取出数据,或者使用get方法
  • print(img[0]) --输出索引为0的元素
  • print(img.get(''))
  • li = soup.find('li',attrs={'id':'1' })
  • print(li) --查询第一个li标签中id等于1的标签,也可以写为(soup.find('li',id='1'))
  • li = soup.find_all(['a',]) --查询所有a标签,可以是多条件
  • print(li)
  • li = soup.find_all(id='1') --查询id=1的所有标签
  • print(li)
  • li = soup.find_all('li',id='1') --查询li标签中所有id等于1的所有标签
  • print(li)
  • li = soup.find_all('a',attrs={'href':'javascript:;' }) --可以给attrs参数,类型为字典
  • print(li) --查询a标签中所有href邓毅javascript的标签
  • 注意:条件可以为True。
  • 实例:
  • li = soup.find_all('a',True)
  • for i in range(0,len(li)):
  • print(f'{i}:{li[i].get("href")}') --获取所有a标签中的href属性

获取所有文档中所有文字内容

  • print(soup.get_text()) -- 全部文字内容
CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐