首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >美满汤从课堂上获得部分字符串

美满汤从课堂上获得部分字符串
EN

Stack Overflow用户
提问于 2017-09-07 11:57:15
回答 1查看 27关注 0票数 0

HTML是:

代码语言:javascript
复制
<div class="_3u1 _gli _uvb" data-bt='{"id":xxxx,"rank":11,"abtest_version":null,"abtest_params":{"abtest_version":null,"origin":"A","ranker":null},"section":"main_column","owner_id":null,"sub_id":null,"browse_location":null,"query_data":[],"is_headline":false}'>

我的代码是:

代码语言:javascript
复制
for profileid in soup.find_all("div","_3u1 _gli _uvb"):
    for fbid in profileid.find_all("data-bt"):
        worksheet.write(row,0,fbid.get("id"))
        print (fbid.get("id"))
        row += 1

我得到的回报是:

代码语言:javascript
复制
 {"id":xxxxxx,"rank":1,"abtest_version":null,"abtest_params":{"abtest_version":null,"origin":"A","ranker":null},"section":"main_column","owner_id":null,"sub_id":null,"browse_location":null,"query_data":[],"is_headline":false}

我怎么能让xxxxx回来呢?提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-07 12:09:33

您可以解析data-bt,因为它包含有效的json

代码语言:javascript
复制
import json

found =  soup.find_all("div", "_3u1 _gli _uvb")

for fbid in found:
    ...
    bt_json = json.loads(fbid.attrs['data-bt'])
    print(bt_json['id'])
    ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46095737

复制
相关文章

相似问题

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