【问题标题】:Data extracting [duplicate]数据提取[重复]
【发布时间】:2018-10-30 19:01:09
【问题描述】:

有人可以帮助我如何在这段代码中获得“结束”的价值。我在这里使用beautifulsoup。

<div class="number" color="secondary" data-reactid="72" end="4269" start="0" style="display:flex;align-content:space-between;font-size:1.6rem;line-height:2.2399999999999998rem;color:rgb(130, 130, 130);">0</div>

【问题讨论】:

    标签: python web-scraping beautifulsoup


    【解决方案1】:

    使用键值访问元素。这里的关键是属性名称。

    例如:

    from bs4 import BeautifulSoup
    s = """<div class="number" color="secondary" data-reactid="72" end="4269" start="0" style="display:flex;align-content:space-between;font-size:1.6rem;line-height:2.2399999999999998rem;color:rgb(130, 130, 130);">0</div>"""
    soup = BeautifulSoup(s, "html.parser")
    print(soup.div["end"])
    

    输出:

    4269
    

    【讨论】:

    • 感谢您的快速回答。我只想告诉您,我已经声明了 r = requests.get(URL) 和 soup = BeautifulSoup(r.content)。而这部分的抓取只是我整个代码的一小部分。那我还需要再写这行代码吗——soup = BeautifulSoup(s, "html.parser") ?
    • 不,您不必再次声明。你应该可以从soup = BeautifulSoup(r.text, "html.parser" )
    • 谢谢。我试过etree方法。而且效果也很好。
    • 不客气 :)
    【解决方案2】:

    假设你的 HTML 已经被 soup 吸收了:

    soup.div['end']

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-12
      • 2020-04-23
      • 1970-01-01
      • 1970-01-01
      • 2011-12-11
      • 2015-05-03
      • 1970-01-01
      相关资源
      最近更新 更多