我想制作python爬虫,它可以在本地工作。 但是我想定期运行爬虫,所以我把我的爬虫放在 aws lambda 中。
我下载了chromedriver并放在我的目录中的某个地方,我可以在本地服务器中使用它。 但是在lambda中,我不知道如何设置路径并上传chromedriver文件。
我尝试了绝对路径,但没有用。 我应该上传 lambda 函数的 chromedriver 吗? 如果是这样,我该怎么办?
我在本地主机中的代码
chrome_driver_path = "../chromedriver_win32/chromedriver.exe"
driver = webdriver.Chrome(
executable_path = chrome_driver_path,
chrome_options=options
)
URL = "https://*****.co.kr"
driver.get(URL)
所以你不能在lambda上运行.exe,因为它是Linux,但你可以像上面一样运行puppeteer并使用它来解析HTML。
如上所述安装木偶(npm i puppeteer --save(。 把所有东西都捆起来。(将所有代码和node_modules压缩到一个 zip 文件中( 部署到 AWS。 瞧。
我强烈推荐无服务器框架,因为它消除了部署的痛苦,你可以在这里得到它
请记住,如果您的爬网作业需要超过 15 分钟的时间,则需要通过 cron 在 t2.micro 而不是 Lambda 上安排此操作,因为它会超时。
Lambda 无法运行可执行文件。你考虑过无头铬吗?
https://github.com/GoogleChrome/puppeteer
https://pptr.dev/#?product=Puppeteer&version=v1.20.0&show=outline