FRANCISHUI 2020-10-28 20:47 采纳率: 0%
浏览 911
已采纳

关于使用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)//

图片说明

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

图片说明

  • 写回答

1条回答 默认 最新

  • 放风喽 2020-10-29 02:46
    关注

    网页上的所有东西,都可以用js来生成,
    而requests获取的,只是服务器第一次渲染的html内容。
    等浏览器运行后,js开始运行的时候,JS可以再次对原始的html进行修改。

    selenium或者找到接口

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    悬赏问题

    • ¥30 计算机网络子网划分路由模拟操作
    • ¥15 MATLAB的画图问题
    • ¥15 c语言用fopen_s成功打开文件之后闪退
    • ¥20 用C++完成,并且运用数组
    • ¥30 求解电力系统潮流计算结果不收敛问题
    • ¥15 某易易盾点选data解析逆向
    • ¥15 系统崩溃,关于订单的处理
    • ¥15 datax-web连接hive为数据源时发生报错,如何解决?
    • ¥15 plink在进行gwas分析时总读取不到表型
    • ¥20 数据结构与c语言的实践内容