【BUG】【Python】【爬虫】爬取加载中的数据

示例网页链接:https://movie.douban.com/subject/36907263/

BUG

浏览器开发者模式可以看到所需信息有对应的HTML显式结构

但代码爬取时发现结构被hidden,需要二次加载

python 复制代码
import requests

url = 'https://movie.douban.com/subject/36907263/'
headers = {'User-Agent': 'Mozilla/5.0'}
response = requests.get(url, headers=headers)
print(response.text)

即便使用selenium将修改type属性,让其不隐藏,再取出被隐藏的数据,也不行

python 复制代码
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://movie.douban.com/subject/36907263/')
js="document.getElementById('red').type='text';"
driver.execute_script(js)
content = driver.find_element(by='id',value='red').text
print(content)
driver.quit()



其实我觉得这个逻辑是对的,但结果非预期,求助是不是哪块代码没写对? T^T 想打印下修改后的HTML也没打印出来 o(╥﹏╥)o

DEBUG

Selenium 的核心功能是模拟用户在浏览器中的操作,所以只需要增加等待时间,等待页面全部加载出来即可。加载后的页面就是我们在浏览器开发者模式下看到的全部HTML结构。

python 复制代码
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get('https://movie.douban.com/subject/36907263/')
time.sleep(5)  # 等待页面加载
content = driver.find_element(by='id',value='info').text
print(content)
driver.quit()

注意加载后要找的就是加载后的数据,即id=info,不再是之前的id=red。

相关推荐
帅气的小峰16 分钟前
pybind11与nanobind可以共存吗?如何迁移?
c++·python·cuda·推理引擎
用户2986985301419 分钟前
从入门到自动化:TXT 转 Word 的在线工具与代码实战方案
人工智能·后端·python
W_3260033 分钟前
Python-OpenCV:库、环境搭建、图片与摄像头解析
开发语言·图像处理·python·opencv·机器学习
抓不住时间的沙43 分钟前
N1搭建Hexo个人博客,部署到Github
python·docker·node.js·debian·github·arm
W_3260043 分钟前
Python-OpenCV:画布、图形、文字、调色滑动条
图像处理·python·opencv·机器学习·计算机视觉
Promising_GEO1 小时前
新电脑科研环境配置指南:Miniforge + PyCharm + GitHub 从安装到可用
ide·python·pycharm·github·地理
Patrick在香港1 小时前
Claude API 成本直降90%:Prompt Caching 提示词缓存 Python 实战
python·缓存·prompt
郝学胜-神的一滴2 小时前
并查集深度入门:从玄学抽象到 QuickFind & QuickUnion 源码实战
数据结构·c++·python·程序人生·算法·软件开发
她说可以呀2 小时前
Spring AI 常用 Advisor
人工智能·python·spring
小玮看世界2 小时前
[Python] str() 和 join() 的区别与实战避坑指南
前端·javascript·python