我想使用 AWS Lambda 来抓取网站。爬虫代码使用 Python 编写并使用 Pip 提供的 Scrapy 库。
要运行 lambda 函数,我必须在公共 Amazon Linux AMI 版本 - amzn-ami-hvm-2017.03.1.20170812-x86_64-gp2 中创建一个依赖项的 zip(这里仅是 scrapy),根据他们的文档here,添加 lambda 函数和上传它以创建 lambda 函数。
现在,当我调用 lambda 函数时,它给了我以下错误:
cannot import name certificate_transparency: ImportError
Traceback (most recent call last):
File "/var/task/my_lambda_function.py", line 120, in my_lambda_handler
return get_data_from_scrapy(username, password)
File "/var/task/my_lambda_function.py", line 104, in get_data_from_scrapy
process.crawl(MyScrapyFunction)
File "/var/task/scrapy/crawler.py", line 167, in crawl
crawler = self.create_crawler(crawler_or_spidercls)
File "/var/task/scrapy/crawler.py", line 195, in create_crawler
return self._create_crawler(crawler_or_spidercls)
File "/var/task/scrapy/crawler.py", line 200, in _create_crawler …
Run Code Online (Sandbox Code Playgroud)