【问题标题】:Extract iframes using BeautifulSoup with Python使用 BeautifulSoup 和 Python 提取 iframe
【发布时间】:2019-03-22 04:13:28
【问题描述】:

我使用 Canvas LMS,我想从某些页面中提取 iframe 以更改 src 内容。 我尝试以下方法:

//some code
soup = BeautifulSoup(page_html, 'html.parser')
pretty_html = soup.prettify()
soup = BeautifulSoup(pretty_html, 'html.parser')
iframe = soup.find('iframe')
print(iframe)

但是结果出乎意料,结果我得到了这个:

None
None
<iframe allowfullscreen="" frameborder="0" height="276" mozallowfullscreen="" scrolling="no" src="https://fast.player.liquidplatform.com/pApiv2/embed/e50a2b66dc19adc532f288eb4bf2d302/%20f2c5f6ca3a4610c55d70cb211ef9d977" webkitallowfullscreen="" width="490"></iframe>
None
None
None
None
None
None

我只希望得到这个

<iframe allowfullscreen="" frameborder="0" height="276" mozallowfullscreen="" scrolling="no" src="https://fast.player.liquidplatform.com/pApiv2/embed/e50a2b66dc19adc532f288eb4bf2d302/%20f2c5f6ca3a4610c55d70cb211ef9d977" webkitallowfullscreen="" width="490"></iframe>

收到的页面html只有一个iframe,结果有什么问题?我想我应该只收到一个 iframe 对象,但似乎我收到了一个列表。有人可以为我澄清我做错了什么?

【问题讨论】:

    标签: python beautifulsoup canvas-lms


    【解决方案1】:

    我发现了如何解决问题。

    我改代码:

    iframe = soup.find('iframe')
    

    iframe = soup.find_all('iframe')
    

    然后,我没有收到 None 作为响应,而是开始收到 []。一个空值。

    我使用以下方法对其进行了测试:

    if iframes != [] :
        print( iframes[0]['src'] )
    

    我使用 iframes[0]['src'] 获得了 src 的内容

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 2013-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多