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

工程师报考网站长沙网页设计培训价格

工程师报考网站,长沙网页设计培训价格,江苏省建设厅网站 投诉,昆明网页建站平台数据的解析 解析数据的方式大概有三种 xpathJsonPathBeautifulSoup xpath 安装xpath插件 打开谷歌浏览器扩展程序#xff0c;打开开发者模式#xff0c;拖入插件#xff0c;重启浏览器#xff0c;ctrlshiftx#xff0c;打开插件页面 安装lxml库 安装在python环境中的Scri…数据的解析 解析数据的方式大概有三种 xpathJsonPathBeautifulSoup xpath 安装xpath插件 打开谷歌浏览器扩展程序打开开发者模式拖入插件重启浏览器ctrlshiftx打开插件页面 安装lxml库  安装在python环境中的Scripts下边这里就是python库的位置例如我的地址为E:\python\python3.10.11\Scripts pip install lxml -i https://pypi.tuna.tsinghua.edu.cn/simple xpath使用和基本语法 解析本地文件etree.parse( xx.html)4.etree.HTML() 解析服务器响应文件html_tree etree.HTML(response.read().decode( utf-8)4.html tree.xpath(xpath路径) xpath基本语法: 路径查询         // : 查找所有子孙节点不考虑层级关系         /  :找直接子节点 谓词查询         //div[id] 包含id属性的div         //div[idmaincontent] id maincontent的div 属性查询         //class :   返回指定标签的class属性 模糊查询         //div[contains(id,he)] 包含         //div[starts-with(idhe)] 以he开头 内容查询         //div/h1/text() text()显示内容 逻辑运算       //div[idhead and classs down] 逻辑  xpath解析本地文件  本地文件如下 !DOCTYPE html html langen headmeta charsetUTF-8/titleTitle/title /head bodyulli id00 classbeijing北京/lili上海/lili深圳/lili广州/li/ululli id11 classshenyang沈阳/lili南京/li/ul /body /html 解析本地文件 from lxml import etree# 解析本地文件 使用etree.parse tree etree.parse(Test.html)# 找到所有的ul ul_list tree.xpath(//ul)# 查找所有的li li_list tree.xpath(//ul/li)# 查找所有包含id的li id_li_list tree.xpath(//ul/li[id])# 查找id为00的li并找到内容 注意引号问题 content_list tree.xpath(//ul/li[id00]/text())# 查找id包含0的li的内容 contains_list tree.xpath(//ul/li[contains(id,0)]/text())# 获取id为11的li class属性值class li tree.xpath(//ul/li[id11]/class) print(ul_list)print(li_list)print(id_li_list)print(contains_list)print(content_list)print(li) 输出结果 [Element ul at 0x22c26c38240, Element ul at 0x22c26c38600] [Element li at 0x22c26c38640, Element li at 0x22c26c385c0, Element li at 0x22c26c38680, Element li at 0x22c26c386c0, Element li at 0x22c26c38700, Element li at 0x22c26c38780] [Element li at 0x22c26c38640, Element li at 0x22c26c38700] [北京] [北京] [shenyang]xpath解析服务器文件  使用xpath插件检查xpath路径的匹配解析定位dom from lxml import etree import urllib.request as request# 下载图片 url https://www.baidu.com/headers { User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36, }# 构建的请求对象 geneRequestrequest.Request(urlurl,headers headers) # 模拟浏览器发送请求 response request.urlopen(geneRequest) # 获取内容 content response.read().decode(utf-8)# 解析服务器文件 tree etree.HTML(content)# 找到百度一下的值 result tree.xpath(//input[idsu]/value)print(result) 输出结果:[百度一下]jsonpath jsonpath是一种信息抽取类库是从JSON文档中抽取指定信息的工具只能读取本地的json文件与xpath类似只不过对应符号不同 jsonpath安装 pip install jsonpath -i https://pypi.tuna.tsinghua.edu.cn/simple xpath和jsonpath的对应关系  XPath    JSONPath 描述/  $ 根节点.  现行节点/.or[]取子节点、、n/a取父节点Jsonpath未支持// 、、就是不管位置选择所有符合条件的条件* * 匹配所有元素节点n/a 根据属性访问Json不支持因为Json是个Key-value递归结构不需要[] [] 迭代器标识可以在里边做简单的迭代操作如数组下标根据内容选值等[] ?()支持过滤操作|[,]支持迭代器中做多选n/a()支持表达式计算()n/a分组JsonPath不支持 jsonpath解析 准备json {store: {book:[{ category: 射手,author: 鲁班七号,title: 王者荣耀,price: 8.95},{category: 打野,author: 李白,title: 大河之水天上来,price: 22.99}],bicycle: {color: red,price: 19.95}}}通过jsonpath解析json数据 import json import jsonpathobj json.load(open(test.json,r,encodingutf-8))# 查看store下的bicycle的color属性 $ 对应xpath/ colorAttr jsonpath.jsonpath(obj, $.store.bicycle.color)# 输出book节点的第一个对象 bookFirst jsonpath.jsonpath(obj, $.store.book[0])# 输出book节点中所有对象对应的属性title值 titles jsonpath.jsonpath(obj, $.store.book[*].title)# 输出book节点中所有价格小于10的对象 ?() 对应xpath [] 对应当前节点 books jsonpath.jsonpath(obj, $.store.book[?(.price10)])print(colorAttr)print(bookFirst)print(titles)print(books) 输出结果 [red] [{category: 射手, author: 鲁班七号, title: 王者荣耀, price: 8.95}] [王者荣耀, 大河之水天上来] [{category: 射手, author: 鲁班七号, title: 王者荣耀, price: 8.95}]BeautifulSoup Beautifulsoup简称bs4,Beautifulsoup和lxml一样是一个html的解析器主要功能也是解析和提取数据 缺点: 效率没有1xm1的效率高优点: 接口设计人性化使用方便 BeautifulSoup安装 pip install bs4 - i https://pypi.tuna.tsinghua.edu.cn/simple BeautifulSoup节点定位规则 soup  soup Beautifulsoup(response.read().decode()Ixml) 解析服务器文件 soup  soup Beautifulsoup(open(1.html).lxml)  解析本地文件 根据标签名查找节点         soup.a  只能找到第一个a         soup.a.namesoup.a.attrs   获取标签的属性和属性值 函数查找   .find (返回一个对象 只能找到第一个a标签)         find(a)         find(a,title名字)         find(a,class名字)   .find_all (返回一个列表 )         find all(a)          find all([a’span]) 返回所有的a和span   .select(根据选择器得到节点对象)[推荐]         element                 eg: div         class                 eg:.firstname         id                 eg:#firstname         属性选择器                 eg:li soup.select(li[class])                 eg:li soup.select(li[classhengheng])         层级选择器                 element element                           div p                                 eg:soup soup.select(a span)                 elementelement                           divp                                 eg:soup soup.select(aspan)                 element,element                           div,p                                 eg:soup soup.select(a,span) BeautifulSoup节点信息 获取节点内容         obj.string         obj.get_text()[推荐]  获取节点的属性         eg:tag find(li                 tag.name 获取标签名                 tag.attrs将属性值作为一个字典返回 获取节点属性         obj.attrs.get(title)[常用]         obj.get(title)         obj[title] BeautifulSoup解析文件 以上述xpath中的本地文件Test.html为例,上边已经写过这里直接上代码 from bs4 import BeautifulSoupsoup BeautifulSoup(open(Test.html,encodingutf-8),lxml)# 查找第一个ul print(soup.find(ul))# 查找所有的ul print(soup.find_all(ul))# 选择查找 li class为beijing的标签 print(soup.select(li[class beijing]))#层级选择查找ul下的class为beijing的li节点 nodelisoup.select(ul li[class beijing])[0]# 获取li节点内容 print(nodeli.get_text())# 获取li标签名 print(nodeli.name)#获取li的属性 print(nodeli.attrs)# 获取li的id属性 print(nodeli.attrs.get(id)) 输出结果 ul li classbeijing id00北京/li li上海/li li深圳/li li广州/li /ul [ul li classbeijing id00北京/li li上海/li li深圳/li li广州/li /ul, ul li classshenyang id11沈阳/li li南京/li /ul] [li classbeijing id00北京/li] 北京 li {id: 00, class: [beijing]} 00
http://www.w-s-a.com/news/741483/

相关文章:

  • 做pc端网站好么平台推广是什么意思
  • 农业信息网站建设意义淘宝官网首页网址
  • 重庆网站设计公司价格贵阳网站建设app开发
  • dw做网站怎么换图片编写网页所用的语言是
  • 外贸网站收录工具个人网站的备案
  • 正规的网站建设工作室海外高延迟服务器做网站
  • 网站设计确认函合肥做网站维护的公司
  • 小说网站推荐网站开发语言怎么查
  • 网页制作基础教程慕课版电子版那种登录才能查看的网站怎么做优化
  • 制作网站用的域名网站域名注册信息查询
  • 公司域名查询官方网站女教师遭网课入侵直播录屏曝
  • 网站开发社交网络功能的作用腾讯公司网站
  • 网站建设需要微信账号和密码网站建设工作汇报
  • 国家城乡住房和建设部网站西安私人网站
  • 天津高端网站定制seo实战教程
  • 网站文章怎么做才能被快速收录网站备案核验系统
  • 子网站建设方案l建设银行网站
  • 免费看舆情网站网站备案用户名忘了怎么办
  • 地方门户网站的分类网站的方案
  • 沧州哪里做网站网站的建设是什么
  • 设计公司海报秦皇岛seo网站推广
  • 网站导航规划wordpress做漫画
  • jsp体育用品网站建设wordpress 10万篇文章
  • 沈阳做微信和网站的公司网站在线支付接口
  • 重庆整合网络营销百度seo快速提升排名
  • 设计师网站外网百度分析工具
  • 旅游网站建设技术解决方案wordpress主题安装后找不到
  • 网站图片文字排版错误管理系统界面设计
  • 网站建设 台州广州惠科互联网技术有限公司
  • 网站页面尺寸大小四川鸿业建设集团网站