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

国外营销型网站设计wordpress采集主题

国外营销型网站设计,wordpress采集主题,做网站需要域名 域名是啥,建站系统搭建音乐网站1. bs4基本使用 1.1. 简介 bs4的全称为 BeautifulSoup。和lxml一样#xff0c;是一个html的解析器#xff0c;主要功能也是解析数据和提取数据 。 本模块作为了解模块#xff0c;实际开发中很少用这个模块去解析数据#xff0c;大家可能会想为什么这个模块会逐渐被淘汰是一个html的解析器主要功能也是解析数据和提取数据 。 本模块作为了解模块实际开发中很少用这个模块去解析数据大家可能会想为什么这个模块会逐渐被淘汰它就真的一点优点都没有吗优点吧其实也有比如设计的接口比较人性化使用起来比较方便支持css选择器等等但是缺点也是非常致命的就是它的效率是没有 xpath 高程序界都是很讲效率的那既然 xpath 也很好用效率也高自然而然就没有bs4的市场了但是大家也要了解该模块可以不用但是不能不知道。 1.2. 安装 pip install bs4 这里需要注意的一点是如果你的项目是一个全新的项目文件你只安装上bs4也是用不了该模块的解析方法的还需要下载安装一个lxml库因为bs4是依赖lxml的不然是会报错的。都有lxml库了正常都使用xpath了对吧谁还去特意再安装bs4这也是bs4被淘汰的一点因素。 安装成功之后想要在python程序当中使用的话就直接导入该模块即可。 from bs4 import BeautifulSoup 1.3. 基础语法 !DOCTYPE html html langen xmlnsheadmeta charsetUTF-8titleTitle/title/headbodydivulli idl1 classa1张三/lili idl2李四/lili王五/lia idHello href classa1Hello World/aa idHello1 href classa1Hello 美女/aspan嘿嘿嘿/span/ul/diva hrefhttps://www.baidu.com titlea2百度/aa hrefhttps://www.xiaomi.com titlea3小米/adiv idd1spanh1哈哈哈/h1/span/divp idp1 classp1呵呵呵/pa href京东/a/body /html from bs4 import BeautifulSoupsoup BeautifulSoup(open(index.html, encodingutf8), lxml) 当操作的对象是文件时就可以使用open(文件路径, encodingutf8)以指定编码打开文件进行操作当操作对象就是我们获取的响应时就可以更改为BeautifulSoup(response, lxml)lxml是操作内核也有其他的内核但是lxml内核效率更高。 1.3.1.节点定位 from bs4 import BeautifulSoupsoup BeautifulSoup(open(index.html, encodingutf8), lxml)# 1.根据标签名进行查找 print(soup.a) # 获取到第一个a标签 类型为 class bs4.element.Tag # 输出结果为a classa1 href idHelloHello World/aprint(soup.a.attrs) # 获取到第一个a标签的属性值 字典类型 # 输出结果为{id: Hello, href: , class: [a1]}# 2.函数方法 find() 和 find_all() print(soup.find(a)) # 等同于soup.a #输出结果为 a classa1 href idHelloHello World/a print(type(soup.find(a))) # class bs4.element.Tagprint(soup.find_all(a)) # 获取所有的a标签返回的是一个列表 # 输出结果为[a classa1 href idHelloHello World/a, a classa1 href idHello1Hello 美女/a, a hrefhttps://www.baidu.com titlea2百度/a, a hrefhttps://www.xiaomi.com titlea3小米/a, a href京东/a]print(soup.find(a, titlea2)) # 获取title属性值为a2的a标签 # 输出结果a hrefhttps://www.baidu.com titlea2百度/aprint(soup.find(a, class_a1)) # 获取class值为a1的a标签class属性需要在最后面加上_ # 输出结果为a classa1 href idHelloHello World/aprint(soup.find_all(a, class_a1)) # 获取到所有class值为a1的a标签 # 输出结果为[a classa1 href idHelloHello World/a, a classa1 href idHello1Hello 美女/a]print(soup.find_all([a, p])) # 同时获取多个标签这里是同时获取所有a标签和p标签 # 输出结果为[a classa1 href idHelloHello World/a, a classa1 href idHello1Hello 美女/a, a hrefhttps://www.baidu.com titlea2百度/a, a hrefhttps://www.xiaomi.com titlea3小米/a, p classp1 idp1呵呵呵/p, a href京东/a]# 3.select() css选择器 print(soup.select(a)) # 获取所有a标签 输出结果与.find_all(a)相同print(soup.select(#l2)) # 获取id属性值为l2的标签返回值为列表哪怕结果只有一个 # 输出结果[li idl2李四/li]print(soup.select(.a1)) # 获取所有class属性值为a1的标签 # 输出结果[li classa1 idl1张三/li, a classa1 href idHelloHello World/a, a classa1 href idHello1Hello 美女/a]# 属性选择器 print(soup.select(a[classa1])) # 获取class属性值为a1的a标签等同于.find_all(a, class_a1)) # 输出结果[a classa1 href idHelloHello World/a, a classa1 href idHello1Hello 美女/a]print(soup.select(a[class])) # 获取有class属性的a标签 # 输出结果[a classa1 href idHelloHello World/a, a classa1 href idHello1Hello 美女/a]# 层级选择器 print(soup.select(div li)) # 获取div标签下面的所有后代li标签 后代选择器 可跨多个节点 # 输出结果为[li classa1 idl1张三/li, li idl2李四/li, li王五/li]print(soup.select(div ul li)) # 获取div标签下的子代ul标签下的子代li节点 子代选择器 只能一级一级向下递 # 输出结果为[li classa1 idl1张三/li, li idl2李四/li, li王五/li]print(soup.select(span, p)) # 获取所有的span标签和p标签 # 输出结果为[span嘿嘿嘿/span, span # h1哈哈哈/h1 # /span, p classp1 idp1呵呵呵/p] 1.3.2. 节点信息 from bs4 import BeautifulSoupsoup BeautifulSoup(open(index.html, encodingutf8), lxml)obj soup.select(li[idl1])[0] # 获取di属性值为l1的li节点 print(obj) # li classa1 idl1张三/li print(type(obj)) # class bs4.element.Tag 获取文本 现在节点是拿到了那如果想要获取文本信息或者属性值又该如何获取呢获取文本信息有两种方法。obj.string与obj.get_text()。 看起来是一样的功能一样的效果但其实也是有区别的。 from bs4 import BeautifulSoupsoup BeautifulSoup(open(index.html, encodingutf8), lxml)obj soup.select(div[idd1]span)[0] # 获取id值为d1的div下面的子代span标签 print(obj) 这个span标签内部包裹了h1标签文本值是在h1标签里面包裹的这个时候再使用上述两个方法获取文本值。 是不是发现不同的地方了也就是说当文本值不是当前标签直接包含的时候.string方法获取不到值就会返回None而.get_text()则是不管包裹到当前标签的哪一个后代标签里面都会把文本值拿到。 获取属性值 from bs4 import BeautifulSoupsoup BeautifulSoup(open(index.html, encodingutf8), lxml)obj soup.select(a[titlea2])[0] # 获取title值为a2的a标签 print(obj) # 输出结果为a hrefhttps://www.baidu.com titlea2百度/aprint(obj.attrs) # 输出结果为{href: https://www.baidu.com, title: a2} 字典 可以看到.attrs属性值返回的是标签所有的属性值字典需要取哪个具体值就直接使用字典取值方式取值即可也就是obj.attrs.get(href)也有其他的快捷取值方法。 ... print(obj.attrs.get(href)) print(obj.get(href)) print(obj[href]) 三种方式都能获取到喜欢用哪种就用哪种。
http://www.hkea.cn/news/14494792/

相关文章:

  • 邢台做网站公司排名怎么样做外链推广网站
  • 高端网站建设与制作福州网站建设培训
  • 跨平台网站开发你注册过的那些网站
  • 兰州市建设工程安全质量监督站网站wordpress 表格插件
  • 南京市网站建设公司建设工程施工合同范本2017免费下载
  • 网站的色彩搭配外贸网站建设报价
  • 鞍山做网站专业公司wordpress营销主题
  • 网站运维公司定制公众号需要多少钱
  • 手机网站 幻灯片js软件开发技术流程图
  • 变量命名网站台州wordpress
  • 企业网站一般用什么域名城市建设网站鹤岗市
  • 桐乡市城乡规划建设局网站抖音代运营价格
  • 企业网站样式自己做网站的公司
  • 建设包包网站的目的广州安全教育平台入口登录
  • 苏州保利时光印象楼盘价格seo下拉优化
  • 网站推广策划包含哪些内容电商网站建设需求分析引言
  • 郑州金水区网站建设保定seo网络推广
  • 网站建设与维护浙江省试题二级域名申请入口
  • 兰州400电话网站建设wordpress增加底部导航栏
  • 网站建设的技巧背景图片素材
  • 搭建网站用什么框架重庆工程建设造价信息网站
  • 湘潭网络公司网站建设微信公众号怎么做的跟网站似的
  • 新河企业做网站中国铁路总公司建设管理部网站
  • 越秀网站建设设计2021年建站赚钱
  • 做html网站搜索框教程怎么看网站是不是做竞价
  • 百度搜索不到我的网站uc官方网站开发中心
  • 商机互联公司做网站怎么样dede小视频网站源码
  • 南京那些公司做网站游戏点卡平台网站开发
  • 平罗县住房和城乡建设局网站用源码做自己的网站
  • 梁山网站建设费用天猫网站设计特点