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

红色礼品网站模板wordpress 分类顺序

红色礼品网站模板,wordpress 分类顺序,app技术开发,asp.net 做网站好吗目录 一、bs4的基本使用 (1)导入 (2)创建对象 二、节点定位 1、根据标签名查找节点 2、基本函数使用 (1)find (2)find_all (3)select 三、节点信息 1、获取节…

目录

一、bs4的基本使用

(1)导入

(2)创建对象

二、节点定位

1、根据标签名查找节点

2、基本函数使用

(1)find

(2)find_all

(3)select

三、节点信息

1、获取节点内容

2、获取节点属性

附:bs4的基本使用.html

四、bs4的应用


注:Python3.10+,使用 Beautiful Soup 时出现错误“AttributeError 'collections' has no attribute 'Callable'”。

在 python 3.10+ 中,collections.Callable已移至collections.abc.Callable 。

故推荐用Python3.10以下版本。

一、bs4的基本使用

(1)导入

from bs4 import BeautifulSoup

(2)创建对象

--服务器响应的文件生成对象

soup = BeautifulSoup(response.read().decode(),'lxml')

--本地文件生成对象

#默认打开文件的编码格式是gbk,故在打开文件的时候要指定编码
soup = BeautifulSoup(open('bs4的基本使用.html',encoding='utf-8'),'lxml')

二、节点定位

1、根据标签名查找节点
#找到的是第一个符合条件的数据
print(soup.a)
#获取标签的属性和属性值
print(soup.a.attrs)
2、基本函数使用
(1)find
#找到的是第一个符合条件的数据
print(soup.find('a'))   #和soup.a差不多
#根据title的值来找到对应的标签对象
print(soup.find('a',title = "A1"))
#根据class的值来找到对应的标签对象
#注意class需要添加下划线
print(soup.find('a',class_ = "A2"))
(2)find_all
# 返回的是一个列表  并且返回了所有的a标签
print(soup.find_all('a'))#如果需要获取多个标签的数据,则需要在find_all的参数中添加的是列表的数据
print(soup.find_all(['a','span']))#limit是查找前几个数据
print(soup.find_all('li',limit=2))
(3)select
#select会返回一个列表,并且会返回多个数据
print(soup.select('a'))  #和find差不多#类选择器
#可以通过.代表class
print(soup.select('.A2'))#可以通过#代表id
print(soup.select('#L1'))#属性选择器
#查找li标签中有id的标签
print(soup.select('li[id]'))#查找到li标签中id为L1的标签
print(soup.select('li[id="L1"]'))# 层级选择器
#后代选择器 查找div下面的li  返回的是一个列表
print(soup.select('div li'))#子代选择器
#某标签的第一级子标签
# warning:在大多数编程语言中需要div > ul >li 这样写,但是在bs4中,可以写div>ul>li。
print(soup.select('div>ul>li'))# 获取多个标签的数据
print(soup.select('a,span'))
#区别  同find_all  一样输出
print(soup.find_all(['a','span']))

三、节点信息

1、获取节点内容
obj = soup.select('#d1')[0]
#如果标签对象中,只有内容那么string和get_text()都可以使用
#如果标签对象中,除了内容还有标签,那么string就会输出NONE
print(obj.string)
print(obj.get_text())
2、获取节点属性
obj = soup.select('#p1')[0]
#name是标签的名字
print(obj.name)
#将属性值作为一个字典返回
print(obj.attrs)#获取节点的属性
obj = soup.select('#p1')[0]
print(obj.attrs.get('class'))
print(obj.get('class'))
print(obj['class'])

附:bs4的基本使用.html

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><div><ul><li id="L1">张三</li><li id="L2">李四</li><li>王五</li><a href="" id="" class="A2">蜀道之南718</a><span>万事如意</span></ul></div><a href="" title="A1">百度</a><div id="d1"><span>恭贺新禧</span></div><p id="p1" class="p1">大吉大利</p>
</body>
</html>

四、bs4的应用

用bs4来爬取麦当当的所有汉堡品类

import urllib.requesturl = "https://www.mcdonalds.com.cn/index/Food/menu/burger"response = urllib.request.urlopen(url)content = response.read().decode('utf-8')from bs4 import BeautifulSoupsoup = BeautifulSoup(content,'lxml')#//span[@class="name"]/text()
name_list = soup.select('.name')for name in name_list:print(name.get_text())

http://www.yayakq.cn/news/427440/

相关文章:

  • 如何做自己网站的访问记录网站做cnzz流量统计
  • 做网站要那些设备飘雪影院手机免费观看免费
  • 官网站建设的步骤过程深圳三站合一网站建设
  • 一流的盘锦网站建设深圳网站设计廊坊公司
  • 青岛做网站好的公司背景模板
  • 域名续费做网站免费软件制作网站
  • 网站建设自我总结网站图片360度旋转怎么做的
  • 网站表单怎么做做电视的视频网站吗
  • 做课件的网站有哪些杭州网站建站模板
  • 国家建设工程质量检查标准网站广告设计专业毕业去哪就业
  • 访问最多技术网站排名网站首页地址 网站域名
  • 网站安全检测方法东华建设官方网站
  • 成都三合一网站建设公共建设工程中心网站
  • 建网站软件有哪些建筑木工模板承包报价单
  • 怎样做建网站做淘客企业网站设计意义
  • wordpress网站流量无锡专业制作外贸网站的公司
  • 建设银行临夏分行网站网站建设肆金手指排名2
  • 坂田建设网站什么网站可以找免费模板
  • 无锡网站排名哪里有做宣传图片的软件
  • 徐汇区网站建设南昌网站建设公司排行榜前十
  • 电商网站建设需求分析 实例题韩国优秀平面设计网站有哪些
  • 陕西西安网站设计公司网站建设的软件平台
  • 网站建设论文开题报告范文成都软件培训机构排名榜
  • 个人网站制作手绘易语言怎么把网站音乐做进去
  • 免费申请qq号注册官网崇左seo
  • 建站宝盒哪个牌子好光速网络网站
  • 网站内链检查wordpress 短信验证
  • 大连网站建设公司领超科技怎么样招商加盟网站模板程序
  • 食品网站建设方案项目书网站建设准备工作总结
  • 网站信息 订阅如何做房产网站建设什么类型