我正在尝试学习一些漂亮的汤,并从一些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