首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用Beautiful Soup解析复杂结构HTML

利用Beautiful Soup解析复杂结构HTML
EN

Stack Overflow用户
提问于 2020-12-30 07:58:51
回答 1查看 118关注 0票数 0

很抱歉这个菜鸟html抓取问题,但我正在处理复杂的html,每种情况都是独一无二的。

我正在尝试解析出前面有:{“actionType”:“导航”,“actionUrl”的所有URL:

在下面的示例中,它将是https://www.ABCD.com

我使用的是python。最好是很美的汤。关于如何接近的想法?

代码语言:javascript
复制
</a>
<a aria-label="ABCD." class="we-lockup targeted-link l-column small-2 medium-3 large-2 we-lockup--shelf-align-top ember-view" data-metrics-click='{"actionType":"navigate","actionUrl":"https://www.ABCD.com","targetType":"card","targetId":"12345"}' data-metrics-location='{"locationType":"shelfCustomersAlsoBoughtMovie"}' href="https://www.ABCD.com" id="ember123"> <picture class="we-lockup__artwork we-artwork--lockup we-artwork--fullwidth we-artwork--vhs-movie-pic we-artwork ember-view" dir="ltr" id="ember123">
<noscript>
EN

回答 1

Stack Overflow用户

发布于 2020-12-30 09:34:28

您可以使用内置的json模块将数据转换为Python字典(dict),然后访问actionUrl密钥。

代码语言:javascript
复制
import json
from bs4 import BeautifulSoup

soup = BeautifulSoup(html, "html.parser")

data = soup.find(
    class_=
    'we-lockup targeted-link l-column small-2 medium-3 large-2 we-lockup--shelf-align-top ember-view'
)['data-metrics-click']

json_data = json.loads(data)

print(type(json_data))
print(json_data['actionUrl'])

输出:

代码语言:javascript
复制
<class 'dict'>
https://www.ABCD.com
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65500320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档