我的首选通常是puppeteer或selenium,但这实际上取决于不同的网站。我从未使用过预构建的抓取工具,所以可能有偏见。也许有时候使用现成的工具可能更快,但你最终会遇到它无法完成的任务。如果你需要编写一些高度优化的代码并且不要有太多额外的开销,那么http请求可能是你最好的选择,但这通常会比较复杂,并且很多网站都会阻止这种方式的请求,所以你需要了解头信息(可以看一下浏览器中的网络选项卡,你可以从那里提取任何请求以及其头信息,然后开始尝试删除头信息以了解哪些内容是必须的,并进一步了解UI是如何生成这些头信息的)。有时这也很容易。如果网站是由服务器端渲染的话,那么你只需要解析HTML就可以了,我认为这就是现成的抓取工具有用的地方...但是现在大部分的网站都是实时生成数据,所以这种方式不可行。在十次中有九次,你可以使用puppeteer / selenium做你需要的任何事情,并且还可以开发出需要的技能以应对不同的情况。至于编程语言,我个人偏爱c#,但也有javascript和python的版本可供使用。Chrome有一个很棒的dev工具,可以记录你的操作并导出到puppeteer中,这是一个很好的入门点,可以帮助你避免无休止地检查DOM。