如题:
有什么办法可以把整个网站都爬下来,包括二级页面和各种 tab, 里面包括递归和 JS 渲染,想想都头大,各位彦祖集思广益,想想办法。
![]() | 1 weixind 2024-08-02 15:49:48 +08:00 爬虫爬的好,牢饭吃得饱。 |
![]() | 2 crocoBaby 2024-08-02 15:53:00 +08:00 直接爬路由 |
![]() | 3 9A0DIP9kgH1O4wjR 2024-08-02 15:54:37 +08:00 抓取页面中的所有连接,爬到一个页面就继续访问里面的链接,无限递归。 高级一点的就是分析 URL 结构,自己拼接 URL 抓。 |
![]() | 4 FengMubai 2024-08-02 15:55:00 +08:00 试试 idm |
![]() | 5 erquren 2024-08-02 15:55:01 +08:00 是不是为了合规 |
![]() | 6 gaoyangang OP @weixind 国外网站,不慌 ![]() |
![]() | 7 D0n9 2024-08-2 15:55:37 +08:00 |
8 iyiluo 2024-08-02 15:57:55 +08:00 做个链接去重不就行了,链接去重后塞进队列里面慢慢爬,不过你爬虫爬的时候小心有人敲门 |
![]() | 9 gaoyangang OP @hanierming 有些 tab 要点击,才能加载出来 |
10 wysnxzm 2024-08-02 15:59:39 +08:00 爬虫小寄巧 |
![]() | 11 9A0DIP9kgH1O4wjR 2024-08-02 16:02:18 +08:00 @gaoyangang 那应该是会调接口的吧?你直接请求接口? |
![]() | 12 whoosy 2024-08-02 16:27:00 +08:00 |
13 linhongjun 2024-08-02 16:31:47 +08:00 以前我记得还有那种网站下载的软件 就是下载整站。。。。后来就没用过了 |
![]() | 14 xiangyuecn 2024-08-02 16:31:51 +08:00 无头浏览器直接正常访问渲染,想要什么数据就读什么数据,管他乱七八糟的 |
15 150530 2024-08-02 16:34:06 +08:00 http://wget.oiweb.cn/ 这种可以全站爬取 |
![]() | 16 justwe7 2024-08-02 16:35:38 +08:00 楼上老哥正解,单纯为了抓页面结构展示界面的话直接 https://pptr.dev/ 加延时等待渲染后拿代码 |
![]() | 17 luolw1998 2024-08-02 16:37:43 +08:00 @gaoyangang #6 国外网站直接读他们的 sitemap.xml, https://www.semrush.com/sitemap.xml |
![]() | 18 Mechanical 2024-08-02 16:43:41 +08:00 Teleport Ultra |
![]() | 19 tool2dx 2024-08-02 16:43:45 +08:00 @linhongjun 以前相关页面数据都是写在 index.html 里的。现在 index 里啥都没有,数据都是 ajax 动态读取的。 |
![]() | 20 yulgang 2024-08-02 16:51:07 +08:00 Offline Explorer |
21 ma836323493 2024-08-02 17:05:15 +08:00 @gaoyangang #9 #9 那在加个 playwright 模拟点击 |
22 vituralfuture 2024-08-02 18:44:38 +08:00 via Android 用 scrapy 轻轻松松,之前有个课设就是做这个,我用 rust 手搓 http 协议,通过 flutter-rust-bridge 接到 dart ,dart 再用正则,xpath 等解析,把 vuejs.org 爬下来了 当然动态资源不容易爬取 |
23 vituralfuture 2024-08-02 18:46:07 +08:00 via Android @vituralfuture 简单来说就是一个广度优先遍历,把出现在 HTML 中的链接统统加入队列,之后去爬,还要处理一下 css 中的链接 |
24 anjv 2024-08-02 19:10:47 +08:00 ![]() 在 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 选项。 |
![]() | 25 WhateverYouLike 2024-08-02 19:40:09 +08:00 via iPhone 推荐 node 的 crawlee 框架,支持无头浏览器 |
![]() | 26 littlejackyxu 2024-08-03 10:18:26 +08:00 学到了新知识。 |
27 haose 2024-08-03 15:25:16 +08:00 ![]() 我说一下我最近弄的思路吧: - 只保存目标网站的主 html 网页 - 通过服务端软件运行起来 - 监听 404 情求 - 去目标网站下载下载出来放到通用的目录 - 运行一下网站,功能覆盖全面一下 因为我是用这种方法拷贝的网页游戏,服务端自己分析情求自己写,正常网页的话这种思路应该也是可行的 |
28 userdhf 2024-08-03 17:46:33 +08:00 idm 有这个功能,就是很慢 |
![]() | 29 EndlessMemory 2024-08-04 09:30:06 +08:00 全站爬虫 |
![]() | 30 midpoint 2024-08-04 09:53:10 +08:00 ![]() Offline Explorer 或者 Teleport Ultra 都是专门用来爬网站的 |