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

网站视频打不开什么原因竞价托管公司联系方式

网站视频打不开什么原因,竞价托管公司联系方式,做任务赚钱的网站,东莞网站优化科技有限公司parsel 这个库可以对 HTML 和 XML 进行解析,并支持使用 XPath 和 CSS Selector 对内容进行提取和修改,同时它还融合了正则表达式提取的功能。 内容目录 from parsel import Selector提取节点提取 class 包含 item-0 的节点 提取文本获取提取到的所有 li…

parsel 这个库可以对 HTML 和 XML 进行解析,并支持使用 XPath 和 CSS Selector 对内容进行提取和修改,同时它还融合了正则表达式提取的功能。

内容目录

  • from parsel import Selector
  • ==提取节点==
    • 提取 class 包含 item-0 的节点
  • ==提取文本==
    • 获取提取到的所有 li 节点的文本内容
    • 提取文本时get 和 getall 的区别
  • ==提取属性==

from parsel import Selector

提取节点

提取 class 包含 item-0 的节点

python3环境下输入:

html = '''
<div><ul><li class="item-0">first item</li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li><li class="item-1 active"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></li></ul></div>
'''
from parsel import Selector
selector = Selector(text=html)   # 将 HTML 字符串,赋值为 selector 变量
# print(selector)# 提取 class 包含 item-0 的节点
# css方法
items = selector.css('.item-0')
print(len(items), type(items), items)   # 结果是一个可迭代对象 SelectorList
# xpath方法
items2 = selector.xpath('//li[contains(@class, "item-0")]')
print(len(items2), type(items2), items2)

知识点:

  1. 将 HTML 字符串,赋值为 selector 变量:selector = Selector(text=html)。
  2. css方法提取 class 包含 item-0 的节点:selector.css(‘.item-0’)。
  3. xpath方法提取 class 包含 item-0 的节点:selector.xpath(‘//li[contains(@class, “item-0”)]’)。
  4. 两种方法返回的结果都是一个可迭代对象 SelectorList,长度都为3,具体结果看输出。

结果输出为:

3 <class 'parsel.selector.SelectorList'> [<Selector xpath="descendant-or-self::*[@class and contains(concat(' ', normalize-space(@class), ' '), ' item-0 ')]" data='<li class="item-0">first item</li>\n  ...'>, <Selector xpath="descendant-or-self::*[@class and contains(concat(' ', normalize-space(@class), ' '), ' item-0 ')]" data='<li class="item-0 active"><a href="li...'>, <Selector xpath="descendant-or-self::*[@class and contains(concat(' ', normalize-space(@class), ' '), ' item-0 ')]" data='<li class="item-0"><a href="link5.htm...'>]
3 <class 'parsel.selector.SelectorList'> [<Selector xpath='//li[contains(@class, "item-0")]' data='<li class="item-0">first item</li>\n  ...'>, <Selector xpath='//li[contains(@class, "item-0")]' data='<li class="item-0 active"><a href="li...'>, <Selector xpath='//li[contains(@class, "item-0")]' data='<li class="item-0"><a href="link5.htm...'>]

提取文本

获取提取到的所有 li 节点的文本内容

for item in items:text = item.xpath('.//text()').get()  # 仍是一个可迭代对象 SelectorListprint(text)

知识点:

遍历 items , 利用xpah 提取所有 li 节点的文本内容:text = item.xpath(‘.//text()’).get() ,结果如下。

结果输出为:

first item
third item
fifth item

提取文本时get 和 getall 的区别

# 提取 SelectorList 里面对应的结果,可以使用 get 或 getall 方法 
# xpath 方法
result = selector.xpath('//li[contains(@class, "item-0")]//text()').get()
print(result)    
result = selector.xpath('//li[contains(@class, "item-0")]//text()').getall()
print(result)
# css 方法
result = selector.css('.item-0 *::text').get()  # *用来提取第一个子节点
print(result)
result = selector.css('.item-0 *::text').getall()  # *用来提取所有子节点
print(result)

知识点:

get 和 getall 对于xpath和css都通用。
get() :用来提取第一个子节点
getall() :用来提取所有子节点

结果输出为:

first item
['first item', 'third item', 'fifth item']
first item
['first item', 'third item', 'fifth item']

提取属性

# 提取属性########################################
result = selector.css('.item-0.active a::attr(href)').get()
print(result)
result = selector.xpath('//li[contains(@class, "item-0") and contains(@class, "active")]/a/@href').get()
print(result)
result = selector.css('.item-0').re('link.*')  
# re 方法在这里遍历了所有提取到的 Selector 对象,然后根据传入的正则表达式查找出符合规则的节点源码并以列表的形式返回。
print(result)
result = selector.css('.item-0 *::text').re('.*item')  
# 调用 css 方法时已经提取了进一步的结果,比如提取了节点文本值,那么 re 方法就只会针对节点文本值进行提取
print(result)
result = selector.css('.item-0').re_first('<span class="bold">(.*?)</span>')   # 输出的结果就是小括号部分对应的结果
print(result)

结果输出为:

link3.html
link3.html
['link2.html">second item</a></li>', 'link3.html"><span class="bold">third item</span></a></li>', 'link4.html">fourth item</a></li>', 'link5.html">fifth item</a></li>', 'link3.html"><span class="bold">third item</span></a></li>', 'link4.html">fourth item</a></li>', 'link5.html">fifth item</a></li>', 'link5.html">fifth item</a></li>']
['first item', 'third item', 'fifth item']
third item
http://www.tj-hxxt.cn/news/86035.html

相关文章:

  • 网站高级感品牌推广
  • 在市场部做网站多少工资b2b免费网站推广平台
  • 护士公共课在哪个网站做站长网站优化公司
  • 公司网站建设全sem运营是什么意思
  • 做网站代理去拉人网站标题优化排名
  • 内容型网站有哪些seo竞价推广
  • 富阳网站建设公司武汉关键词排名推广
  • 多媒体展厅公司周口seo公司
  • 专门找事做的网站二级子域名ip地址查询
  • 代理app推广关键词优化推广排名
  • 河南省建设行业证书查询网站上海网站推广公司
  • wordpress禁用媒体库seo企业站收录
  • 政府网站建设和数据开放共享现在最火的推广平台
  • 做电子商务网站需要学什么百度广告优化师
  • 绵阳网站建设软件有哪些百度seo关键词排名 s
  • 网站备份数据库综合搜索引擎
  • 做图骂人的图片网站网站推广营销运营方式
  • 视频直播间宁波seo外包公司
  • 房山新农村建设网站怎么找专业的营销团队
  • 动态网站开发服务器端脚本语言超级优化
  • 网站开发报告参考文献网站在线优化工具
  • 政府网站建设推进app下载免费安装
  • 公司做的网站费用计入什么科目深圳网络营销的公司哪家好
  • 高级网站开发工程师证网络销售挣钱吗
  • 用pageadmin做的网站用什么虚拟主机号网站查询网
  • 做网站人员工资建立网站平台需要多少钱
  • 学校网站建设调研报告收录提交入口
  • flash网站代做中国优秀网页设计案例
  • 网站找图片做海报侵权网站流量分析工具
  • 做电商怎么建网站怎么设计一个网页