【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。

相关推荐
鱼听禅23 分钟前
Ubuntu安装YOLOv8进行菌落识别训练
linux·python·yolo·ubuntu
ZhengEnCi44 分钟前
Agent 查不出代码 Bug 怎么办:一份带时间戳的调试日志与读日志排查流程
python·ai编程
威哥爱编程1 小时前
模拟面试智能体开发实战 05:给面试官接上题库和检索,题目结构化、大纲可溯源,AI 不再凭印象出题
python·agent·harmonyos
威哥爱编程1 小时前
模拟面试智能体开发实战 06:答得好怎么追问、答得错怎么点破,追问引擎让面试官会深挖会纠错
python·agent·harmonyos
codists2 小时前
《crafting interpreters》阅读笔记:4.6.2
python
2601_967979122 小时前
机器学习必修课:经典算法与Python实战
python·算法·机器学习·实战·课程
cpolar技术支持2 小时前
listen(5) 只排得住 5 个连接:第 6 个客户端卡在 connect 超时,进程活着端口却显示假活不放行
python·socket·tcp·cpolar·故障排查
梯度下降者3 小时前
我校学子斩获 2025 全国高新技术竞赛 Python 赛道全国一等奖
python·教育·竞赛·信息技术·人才培养
小小张说故事3 小时前
Python 的 memoryview 为什么能零拷贝:拆开 buffer protocol、cast 和那道 BufferError
python
Hvitur4 小时前
Java - Lambda
java·开发语言·python