如何在Python中用lxml解析iframe?
我发现lxml这个库无法解析iframe里的HTML元素。
import lxml.html
from urllib.request import urlopen
import os
url="http://news.163.com/special/mhmingdan/?bdsj"
file=urlopen(url).read()
root=lxml.html.document_fromstring(file)
tab=root.xpath('//iframe')
那我该怎么做才能让lxml获取到iframe里的HTML元素呢?
2 个回答
-2
这段代码的意思是……
首先,它会做一些准备工作,比如设置一些变量或者初始化一些东西。接下来,它会进入一个循环,这个循环会重复执行某些操作,直到满足特定条件为止。每次循环中,它可能会检查一些状态,或者对数据进行处理。
最后,当循环结束后,代码会执行一些收尾工作,比如输出结果或者清理资源。
总的来说,这段代码的结构很常见,主要是通过循环和条件判断来实现某种功能。
page = requests.get(url)
tree = html.fromstring(page.content)
src_url = tree.cssselect("iframe")
print src_url[0].attrib
1
你应该使用正斜杠 //
,而不是反斜杠 \\
:
tab = root.xpath('//iframe')
另外,你可以通过直接把 urlopen
的结果传给 parse()
来简化获取页面和解析的过程:
root = lxml.html.parse(urlopen(url))