使用lxml解析iframe

问题描述:

我正在从<iframe>获取数据。 然后,我想从<iframe>使用lxml获得数据。使用lxml解析iframe

我没有找到任何可用的资源<iframe>来自lxml

任何人都可以帮助我让我知道我该如何实现它?

您可以从iframe提取src属性,然后通过urllib获取从URL数据,最后再使用lxml分析这些数据。

示例代码(未测试):

from lxml.etree import fromstring 
data = urllib.urlopen(url) # fetching url with iframe 
tree = fromstring(data.read()) # parsing tree to get src attribute 
src_url = tree.cssselect("iframe").attrib['src'] 
data = urllib.urlopen(src_url) # open iframe src url 
tree = fromstring(data.read()) # parsing iframe tree 
+0

我们必须使用什么来从iframe中获取src? – sam 2012-04-16 12:55:41

+0

lxml可以打开网址 – MattH 2012-04-16 12:59:32

+0

添加示例代码。 – methyl 2012-04-16 13:01:49

我们必须从iframe发现src属性,然后请求LIB从src网址提取数据。

import lxml.html as lh 
import requests 


rq= requests.get(url) 

content = rq.content 

doc = lh.fromstring(content) 

for i, elt in enumerate(doc.xpath('//[@id="page_content"]/div[2]/div/div/iframe')): 

    url_data = elt.attrib.get('src') 
    data = requests.get(url_data).content)