使用lxml解析iframe

时间:2012-04-16 12:51:22

标签: python iframe lxml

我正在从< iframe>中获取数据。 然后我想从< iframe>获取数据使用lxml

我没有找到任何我们可以获取的资源< iframe>来自lxml

任何人都可以帮我告诉我如何实现它?

2 个答案:

答案 0 :(得分:5)

您可以从src中提取iframe属性,然后通过urllib从网址获取数据,最后使用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

答案 1 :(得分:1)

我们从src找到iframe属性,然后通过请求lib从src url获取数据。

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)