如何在VS Code中使用AWS Lambda运行已编写的爬虫代码
问题内容
- 已完成awscli安装,且成功创建IAM用户
- 已在VS Code中创建凭证配置文件,完成VS Code与AWS Toolkit的关联
- 部署测试已成功运行
- 当前尚不明确AWS Lambda的具体使用方法
准备用于AWS Lambda的代码
import requests import lxml from bs4 import BeautifulSoup url = "https://www.rottentomatoes.com/top/bestofrt/" f = requests.get(url) print(f)
VS Code中AWS Toolkit的配置已全部完成

请问我要如何在VS Code中使用这段爬虫代码?
解决方案
操作步骤
创建Lambda项目模板
打开VS Code左侧边栏的AWS Toolkit面板,找到Lambda分类,右键选择「Create Lambda SAM Application」,按提示依次选择Python 3.9/3.10运行环境、Hello World空模板,指定本地存储路径和自定义函数名称即可生成标准Lambda项目结构。适配代码与配置依赖
- 打开生成的项目中的
lambda_function.py入口文件,将你的爬虫代码封装为Lambda要求的handler格式,修改后示例如下:
import requests from bs4 import BeautifulSoup import lxml def lambda_handler(event, context): url = "https://www.rottentomatoes.com/top/bestofrt/" resp = requests.get(url) print(resp.status_code) # 后续可自行添加页面解析逻辑 return { "statusCode": resp.status_code, "body": resp.text[:200] }
- 打开项目根目录的
requirements.txt文件,添加你的代码依赖:
requests==2.31.0 beautifulsoup4==4.12.2 lxml==4.9.3
本地测试运行
右键点击lambda_function.py文件,选择「Run Locally」,AWS Toolkit会自动构建依赖层、模拟Lambda本地运行环境执行代码,运行结果会直接输出在VS Code终端。如果需要断点调试,选择「Debug Locally」即可。部署到AWS云端
右键点击项目根目录的template.yaml配置文件,选择「Deploy Serverless Application」,按提示选择对应的AWS区域、S3存储桶(无可用存储桶时可选择自动创建),等待数分钟即可完成部署。部署完成后可以在AWS Toolkit的Lambda函数列表中找到对应函数,右键选择「Invoke on AWS」即可触发云端运行。
注意事项
- Lambda默认运行环境不自带第三方库,所有依赖必须在
requirements.txt中声明,部署时SAM会自动打包上传 - 请遵守目标站点的爬虫规则与访问频率限制,避免触发反爬机制
- Lambda默认执行超时时间为3秒,如果请求响应较慢,可以在
template.yaml中修改Timeout参数到10~30秒
内容的提问来源于stack exchange,提问作者user16296143
相关产品推荐
相关产品推荐

