python之lxml(xpath)

网友投稿 281 2022-08-29

python之lxml(xpath)

bs4确实没这个好用,bs4的树太复杂

lxml很好

定位非常好

详细解说在注释里面有了

1 #!/usr/bin/python3.4 2 # -*- coding: utf-8 -*- 3 4 from lxml import etree 5 import urllib.request 6 7 # 目标网址的html可以看一下 8 url = "9 # 解析网址10 data = urllib.request.urlopen(url).read()11 # 解码12 html = data.decode('UTF-8','ignore')13 14 page = etree.HTML(html.lower())15 16 # 查找的目标样式如下17 """18 ...19

    20
  • 21 第1卷(96页)
  • 22
  • 23 第2卷(90页)
  • 24
  • 25 第3卷(95页)
  • 26
  • 27 第4卷(94页)
  • 28
  • 29 第5卷(95页)
  • 30 ...31 """32 33 # 找到ul下li下的a中的href34 hrefs = page.xpath('//ul[@class="sy_nr1 cplist_ullg"][2]/li/a/@href')35 36 # 找到...之间的文字37 hrefnames = page.xpath('//ul[@class="sy_nr1 cplist_ullg"][2]/li/a/text()')38 39 # 找到页数40 hrefpages = page.xpath('//ul[@class="sy_nr1 cplist_ullg"][2]/li/text()')41 42 for href in hrefs:43 # 打印出来44 print(href)

    打印结果:

    1 /vol1-6871/ 2 /vol2-6872/ 3 /vol3-6873/ 4 /vol4-6874/ 5 /vol5-6875/ 6 /vol6-6876/ 7 /vol7-6877/ 8 /vol8-6878/ 9 /vol9-6879/10 /vol10-6880/11 /vol11-23456/12 /vol12-23457/13 /vol13-23695/14 /vol14-28326/15 /vol15-31740/16 /ch145-149-33558/17 /ch150-33559/18 /ch151-197255/19 /ch152-33560/20 /ch153-33561/21 /ch154-33562/22 /ch155-33563/23 /ch156-33564/24 /ch157-33565/25

    版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:恒大冰泉精准年轻化营销,上演业界教科书式操作!(恒大冰泉营销案例分析)
下一篇:python简单粗暴多进程之concurrent.futures
相关文章

 发表评论

暂时没有评论,来抢沙发吧~