当前位置: 首页 > 面试题库 >

python beautifulsoup iframe文档html提取

白驰
2023-03-14
问题内容

我正在尝试学习一些漂亮的汤,并从一些iFrame中获取一些html数据-但到目前为止,我还没有取得很大的成功。

因此,解析iFrame本身似乎不是BS4的问题,但是我似乎并没有从中获得嵌入的内容-不管我做什么。

例如,考虑下面的iFrame(这是我在chrome开发人员工具上看到的):

<iframe frameborder="0" marginwidth="0" marginheight="0" scrolling="NO"
src="http://www.engineeringmaterials.com/boron/728x90.html "width="728" height="90">
#document <html>....</html></iframe>

<html>...</html>我要提取的内容在哪里。

但是,当我使用以下BS4代码时:

iFrames=[] # qucik bs4 example
for iframe in soup("iframe"):
    iFrames.append(soup.iframe.extract())

我得到:

<iframe frameborder="0" marginwidth="0" marginheight="0" scrolling="NO" src="http://www.engineeringmaterials.com/boron/728x90.html" width="728" height="90">

换句话说,我得到的iFrame中没有文档<html>...</html>

我尝试了以下方法:

iFrames=[] # qucik bs4 example
iframexx = soup.find_all('iframe')
for iframe in iframexx:
    print iframe.find_all('html')

..但这似乎行不通..

因此,我想我的问题是,如何可靠地<html>...</html>从iFrame元素中提取这些文档对象。


问题答案:

浏览器 在单独的请求中 加载iframe内容。您必须执行相同的操作:

for iframe in iframexx:
    response = urllib2.urlopen(iframe.attrs['src'])
    iframe_soup = BeautifulSoup(response)

记住:BeautifulSoup不是浏览器;它也不会为您获取图像,CSS和JavaScript资源。



 类似资料:
  • 下面给出了从HTML文档中提取内容和元数据的程序。 import java.io.File; import java.io.FileInputStream; import java.io.IOException; import org.apache.tika.exception.TikaException; import org.apache.tika.metadata.Metadata; imp

  • 8.3. 从 HTML 文档中提取数据 为了从 HTML 文档中提取数据,将 SGMLParser 类进行子类化,然后对想要捕捉的标记或实体定义方法。 从 HTML 文档中提取数据的第一步是得到某个 HTML 文件。如果在您的硬盘里存放着 HTML 文件,您可以使用 file 函数 将它读出来,但是真正有意思的是从实际的网页得到 HTML。 例 8.5. urllib 介绍 >>> import

  • 问题内容: 我想对返回HTML的页面进行AJAX调用,提取HTML的一部分(使用jQuery选择器),然后在基于jQuery的JavaScript中使用该部分。 在AJAX检索是非常简单的。这使我在回调函数的“数据”参数中获得了整个HTML文档。 我不明白的是如何以一种有用的方式处理这些数据。我想将其包装在新的jQuery对象中,然后使用选择器(通过我相信的find())来获取我想要的部分。有了这

  • 之前我们讨论的都是HTML文档中的片段,除了这些局部语法外,一个合法的HTML文档还有整体性的结构要求。 文档类型(Doctype) 首先需要定义文档的类型:Doctype。 我们可以把Doctype看成HTML语言的版本,就好比Word97和Word2001一样。不同版本之间的语法约定不尽相同,但通常会保持向下兼容,好比Word2001能打开Word97的文档一样。 以前XHTML 1.0 和

  • 本文向大家介绍HTML和XHTML文档类型,包括了HTML和XHTML文档类型的使用技巧和注意事项,需要的朋友参考一下 为了验证HTML或XHTML的任何页面,您将需要一个doctype。这是一串文本,位于文档顶部,可告诉浏览器确切的标记标准已用于创建页面。 XHTML严格 当您不使用任何框架集或折旧标签时,此doctype将在XHTML文档中使用。 <!DOCTYPE html PUBLIC "

  • An expert is someone who is one page ahead of you in the manual. — David Knight 像大多数工程师一样,我从来没有阅读过手册,除非或者直到产品实际出现了十万火急的情况。 然而,随着你的配置清单代码不断增多且越来越复杂,使用 Puppet 的自动文档工具 puppet doc 为你的节点(node)和类(class)生成 H