爬虫怎么能把整个网站给爬下来

142 天前
 gaoyangang

如题:

有什么办法可以把整个网站都爬下来,包括二级页面和各种 tab, 里面包括递归和 JS 渲染,想想都头大,各位彦祖集思广益,想想办法。

3637 次点击
所在节点    程序员
30 条回复
ma836323493
142 天前
@gaoyangang #9 #9 那在加个 playwright 模拟点击
vituralfuture
142 天前
用 scrapy 轻轻松松,之前有个课设就是做这个,我用 rust 手搓 http 协议,通过 flutter-rust-bridge 接到 dart ,dart 再用正则,xpath 等解析,把 vuejs.org 爬下来了

当然动态资源不容易爬取
vituralfuture
142 天前
@vituralfuture 简单来说就是一个广度优先遍历,把出现在 HTML 中的链接统统加入队列,之后去爬,还要处理一下 css 中的链接
anjv
142 天前
在 Linux 下,通过一个命令就可以把整个站相关的文件全部下载下来。
wget -r -p -k -np
参数说明:
-r: 递归下载
-p: 下载所有用于显示 HTML 页面的图片之类的元素
-k: 在转换文件 X 前先将它备份为 X.orig 。
-np: 不追溯至父目录

wget -r -np -nd http://example.com/
这条命令可以下载 http://example.com 网站根目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。
wget -m -k (-H) http://www.example.com/
该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项。
WhateverYouLike
142 天前
推荐 node 的 crawlee 框架,支持无头浏览器
littlejackyxu
141 天前
学到了新知识。
haose
141 天前
我说一下我最近弄的思路吧:
- 只保存目标网站的主 html 网页
- 通过服务端软件运行起来
- 监听 404 情求
- 去目标网站下载下载出来放到通用的目录
- 运行一下网站,功能覆盖全面一下

因为我是用这种方法拷贝的网页游戏,服务端自己分析情求自己写,正常网页的话这种思路应该也是可行的
userdhf
141 天前
idm 有这个功能,就是很慢
EndlessMemory
140 天前
全站爬虫
midpoint
140 天前
Offline Explorer 或者 Teleport Ultra 都是专门用来爬网站的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1062051

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX