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)

正常解析写法:

# 热门城市 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://haidsoft.com/166415.html

(0)
上一篇 2025-01-06 09:15
下一篇 2025-01-06 09:26

相关推荐

发表回复

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

关注微信