【问题标题】:How to get tag with attribute containing a nbsp ("non breaking space")?如何获取包含 nbsp 属性的标签(“不间断空格”)?
【发布时间】:2021-10-08 20:44:22
【问题描述】:
您好,我正在尝试获取一个包含非中断空格 (nbsp) 值的标签,但是当我执行以下操作时:
a_url=soup.find_all('a', {"aria-label":"Siguiente "})
a_url 返回一个空列表
我怎样才能得到真正的价值=?
【问题讨论】:
标签:
python-3.x
web-scraping
beautifulsoup
request
【解决方案1】:
如果您正在搜索“下一页按钮”的href,您可以通过这些selector 获得它(前提条件-它是唯一的@website):
soup.select_one('a[aria-label*="Siguiente"]')['href']
示例
from bs4 import BeautifulSoup
soup = BeautifulSoup('''<a href="/jobs?q=ingeniero&start=30&pp=gQAtAAAAAAAAAAAAAAABtmO50gBfAQEBChquI8zsEUMb97LmWiIyJ6B9BupjjNHe0wHVJkxir7vk5faUnfGbH8SIKViz3xGntfsggaFcG0AVf914ketkZJK-TUcyKlIrQmiKVG-Mkh5cMa0vUE4tVGeMixwAAA" aria-label="Siguiente »" data-pp="gQAtAAAAAAAAAAAAAAABtmO50gBfAQEBChquI8zsEUMb97LmWiIyJ6B9BupjjNHe0wHVJkxir7vk5faUnfGbH8SIKViz3xGntfsggaFcG0AVf914ketkZJK-TUcyKlIrQmiKVG-Mkh5cMa0vUE4tVGeMixwAAA" onmousedown="addPPUrlParam && addPPUrlParam(this);" rel="nofollow"><span class="pn"><span class="np"><svg width="24" height="24" fill="none"><path d="M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z" fill="#2D2D2D"></path></svg></span></span></a>''', "lxml")
soup.select_one('a[aria-label*="Siguiente"]')['href']