一般来说在HTML文本中<script></script>标签内都是JS代码,但是也有在script标签中写入html代码的。今天就遇到了这个问题。搞得很是懵逼。其实也不是特别难,就是脑子转不过弯。
script同样是HTML中的一个标签,可以直接取得它的内容。但是不能直接用xpath获取script下的标签内容。
#先解析获取到的网页源码
html = etree.HTML(response)
#获取script的内容,获得的结果是str类型
data = html.xpath('//script[@class="xxxx"]\text()')[0]
#或者 data = html.xpath('//script[@id="xxxx"]\text()')[0]
#再次对获取到的html内容进行解析
data_html = etree.HTML(data)
#ok ,现在可以对内容进行xpath匹配了
网友评论