用 ChatGPT 写爬虫
ChatGPT Conversation#
- 🤡:用 Python 写爬虫,可输入 URL
- 🤖:给了一个 Beautiful Soup 的例子
- 🤡:有什么方法可抓取 JS 动态生成的内容
- 🤖:可使用 Selenium、Scrapy + Splash
- 🤡:使用 Scrapy + Splash 的方法
- 🤖:以下是使用 Scrapy 的脚本示例
跑了一下,发现日志全打在屏幕上,于是去官网看了一下配置,发现可以指定日志文件、抓取深度、优先级等等。
再问一下 GPT 让他给一些配置的例子和注释,最后整理优化一下,得出了下面最终的输入。
ChatGPT Answer#
下面是 ChatGPT 的回答,但我做了一些修改和优化。
安装 Splash#
安装 Scrapy-Splash 以及 Splash 服务:
创建 Scrapy 项目#
首先,在命令行中创建一个新的 Scrapy 项目:
在 Docker 运行 Splash#
修改 settings.py#
创建爬虫#
在 mycrawler/spiders
目录中创建一个新的爬虫文件 my_spider.py
,内容如下:
运行爬虫#
使用命令行运行爬虫:
这个脚本会根据输入参数抓取网页,匹配关键字并输出匹配的 URL。
ChatGPT 更像是一个引导的角色。
有时候你需要一个工具,可能你并不知道这个工具最后长什么样子。
但只要通过不断对话,一步步打磨,他总能给出你想要的答案。
这个过程还能学到不少的东西,只要你懂得如何提问。