如何在Python中用lxml解析iframe?

1 投票
2 回答
1609 浏览
提问于 2025-04-18 00:05

我发现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))

撰写回答