关于使用xpath解析数据返回空列表

**今天使用xpath去解析从豆瓣中爬取的数据时发现返回空列表

于是我对于xpath路径从前往后测试时发现:

碰到下图绿色箭头所示的标签处就返回空列表,

该标签的上一个标签的属性能够成功获取,

就是卡在了这个标签处,这是为什么呢?*

import requests

from lxml import etree

url='https://movie.douban.com/typerank?type_name=%E5%96%9C%E5%89%A7&type=24&interval_id=100:90&action=' //指定url

headers={'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}//UA伪装

response=requests.get(url=url,headers=headers).text//获取响应数据

tree=etree.HTML(response)//实例tree对象

path_0='//*[@id="content"]/div/div[1]/div[6]/@class'//出现问题标签的前一个标签的xpath路径

path_1='//*[@id="content"]/div/div[1]/div[6]/div'出现问题的标签的路径

list_data_0=tree.xpath(path_0)

list_data_1=tree.xpath(path_1)

print(list_data_0)//打印第一个的属性

print(list_data_1)//

关于使用xpath解析数据返回空列表

然后我就去查看了一下页面的源代码,发现了一个很诡异的事情,页面的源码中,是没有我上述爬取失败的标签,但是这个标签在抓包工具却可以定位到,我好迷呀???

关于使用xpath解析数据返回空列表

回答

网页上的所有东西,都可以用js来生成,

而requests获取的,只是服务器第一次渲染的html内容。

等浏览器运行后,js开始运行的时候,JS可以再次对原始的html进行修改。

selenium或者找到接口

以上是 关于使用xpath解析数据返回空列表 的全部内容, 来源链接: utcz.com/a/63769.html

回到顶部