欢迎大家来到IT世界,在知识的湖畔探索吧!
什么时候最好使用bs4
如果需求是要求解析出携带html标签的局部数据,例如<li> <p> <div>
这样带有标签符号的html文本,那就使用bs4解析。
使用bs4, bs4在实现标签定位的时候返回的直接就是定位到标签对应的字符串数据
xpath如何更加具有通用性?
xpath表达式中使用管道符分割的作用,可以表示管道符左右两侧的子xpath表达式同时生效或者一个生效
例子:将https://www.aqistudy.cn/historydata/ 所有的 城市名称解析出来
from lxml import etree import requests headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36' } url = 'https://www.aqistudy.cn/historydata/' page_text = requests.get(url=url, headers=headers) tree = etree.HTML(page_text.text)
欢迎大家来到IT世界,在知识的湖畔探索吧!
正常解析写法:
欢迎大家来到IT世界,在知识的湖畔探索吧!# 热门城市 hot_cities = tree.xpath('//div[@class="bottom"]/ul/li/a/text()') # 全部城市 all_cities = tree.xpath('//div[@class="bottom"]/ul/div[2]/li/a/text()')
管道符解析写法:
# 热门+全部城市 cities=tree.xpath('//div[@class="bottom"]/ul/li/a/text() | //div[@class="bottom"]/ul/div[2]/li/a/text()')
关注 Python涛哥,学习更多Python知识!
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/102951.html