Python爬虫,爬数据什么时候最好使用bs4?xpath如何更具有通用性

Python爬虫,爬数据什么时候最好使用bs4?xpath如何更具有通用性什么时候最好使用 bs4 如果需求是要求解析出携带 html 标签的局部数据 例如 li p p div 这样带有标签符号的 html 文本 那就使用 bs4 解析 使用 bs4 bs4 在实现标签定位的时候返回的直接 div li

欢迎大家来到IT世界,在知识的湖畔探索吧!

什么时候最好使用bs4

如果需求是要求解析出携带html标签的局部数据,例如<li> <p> <div>

这样带有标签符号的html文本,那就使用bs4解析。

使用bs4, bs4在实现标签定位的时候返回的直接就是定位到标签对应的字符串数据


xpath如何更加具有通用性?

xpath表达式中使用管道符分割的作用,可以表示管道符左右两侧的子xpath表达式同时生效或者一个生效

例子:将https://www.aqistudy.cn/historydata/ 所有的 城市名称解析出来

Python爬虫,爬数据什么时候最好使用bs4?xpath如何更具有通用性

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

(0)
上一篇 4天前
下一篇 4天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信