我正在从< iframe>中获取数据。
然后我想从< iframe>获取数据使用lxml
。
我没有找到任何我们可以获取的资源< iframe>来自lxml
。
任何人都可以帮我告诉我如何实现它?
答案 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)