当前位置: 首页 > news >正文

python爬虫(二) ---- JS动态渲染数据抓取

python爬虫之JS动态渲染数据抓取

  • 一、环境准备
  • 二、爬取思路
  • 三、代码示例
  • 四、结果展示

一、环境准备

  • 练习地址: https://spa1.scrape.center/page/1
  • requests:发出请求
  • pandas:保存数据到 csv文件
  • 依赖安装命令:
    pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
    pip install pandas -i https://pypi.tuna.tsinghua.edu.cn/simple
    

二、爬取思路

  • JS动态渲染的数据是前后端分离的, 直接通过地址无法获取到具体的数据, 需要找到数据返回的api, 然后通过requests请求api拿到数据(一般为json数据), 最后进行解析获取想要的内容
  • 在浏览器开发者模式中, 选中 网络 -> Fetch/XHR, 找到api, 如下图所示:在这里插入图片描述
  • 分析这个json结构, 解析出需要的内容

三、代码示例

import requests
import pandas as pddef request(url):r = requests.get(url);return r.json();def parseJson(json_data):movie_list = []results = json_data['results']for result in results:movie_info = {'name': f"{result['name']} - {result['alias']}",'categories': ','.join(result['categories']),'location': ','.join(result['regions']),'duration': result['minute'],'release_date': result['published_at'],'score': result['score']}movie_list.append(movie_info)return movie_listdef save(data):df = pd.DataFrame(data);# 设置表头df.columns = ['电影名', '类型', '地域', '时长', '上映时间', '评分'];df.to_csv("data_js.csv", index=False, encoding='utf-8-sig');if __name__ == '__main__':# 发出请求jsonData = request('https://spa1.scrape.center/api/movie/?limit=10&offset=0')print(f'获取jsonData成功..')# 解析jsonmovie_list = parseJson(jsonData);print('解析json成功..')# 存储数据save(movie_list)print('写入文件成功...')

四、结果展示

在这里插入图片描述

在这里插入图片描述

http://www.dtcms.com/a/449256.html

相关文章:

  • 国庆回来的css
  • 廊坊做网站的电话公司网站外包
  • 八股文:计算机网络-20250925
  • MySql速成笔记5(多表关系)
  • 如何设计和建立一个公司的网站佛山网站优化有
  • 开源 C++ QT QML 开发(六)自定义控件--波形图
  • excel-mcp-server 安装
  • Axios快速上手
  • 中国建网站报价电子商务网站的建设流程图
  • 某单位固态硬盘站点备份至固态硬盘的站点备份方案
  • 高级经济师资源合集
  • 【数据结构】数据结构考研核心:树形查找算法对比与应用场景全指南
  • 做公司网站需要了解哪些东西体育网站的制作哪里可以做
  • 【Docker】解决Docker中“exec format error”错误:架构不匹配的完整指南
  • 如何自己开个网站平台成立网站建设公司要求
  • [嵌入式embed]RT-ThreadStudio-STM32F103C8T6(江协科技)+移植RT-Thread v4.11模版
  • 元宇宙的科幻预言:影视作品中的元宇宙畅想
  • Day07_刷题niuke20251007
  • 厦门湖里区建设局网站深圳宝安美容医院网站建设
  • 人机共生:生成式 AI 重构内容创作的机遇与博弈
  • 正规手表回收网站如何自己制作网站
  • 6.基本查询
  • python高校心理健康服务小程序(源码+文档+调试+基础修改+答疑)
  • vscode code-server
  • MySQL 8.0性能优化终极指南
  • 做网站有什么优势做外贸开店用哪个网站
  • 射频前端国产替代:昂瑞微扮演重要角色
  • 工程师 - 配置Raspberry Pi Pico W 开发板
  • 在vscode下的cmake项目里传参调试c++命令行程序
  • 2025.2.X 版本 IDEA maven 打包乱码问题的解决