用户工具

站点工具


画吧

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
画吧 [2024/02/07 17:48] – [下载] yzqzss画吧 [2024/03/27 01:53] (当前版本) – [元数据] yzqzss
行 1: 行 1:
-{{tag>inprogress closing}}+{{:画吧:huabar_byebye_alpha.png?420 }} 
 +<wrap right> 
 +©《拜拜》由画吧用户“早点睡觉”创作,我们购得了这张画。 
 +</wrap> 
 + 
 +{{tag>saved closed}} 
 <WRAP center round info 60%> <WRAP center round info 60%>
-这个存档项目正在进行中,请加入 https://t.me/saveweb_projects/15874 了解详情。+存档项目已结束,请加入 https://t.me/saveweb_projects/15874 了解详情。 
 +</WRAP> 
 + 
 +<WRAP center round info> 
 +如果您是画师,查看[[画吧:Takeout]]了解如何获取您的作品备份。 \\  
 +如果你在找“[[画吧:画吧纪念版]]”,请前往[[画吧:画吧纪念版]]
 </WRAP> </WRAP>
  
行 17: 行 28:
 | APK | [[wbm>20240129084549/https://huaba-operate.oss-cn-hangzhou.aliyuncs.com/huabarelease768.apk|huabarelease768.apk]] | | APK | [[wbm>20240129084549/https://huaba-operate.oss-cn-hangzhou.aliyuncs.com/huabarelease768.apk|huabarelease768.apk]] |
 | Android 包名 | com.haowan.huabar | | Android 包名 | com.haowan.huabar |
-Source code | #TODO: public |+project code | [[github>saveweb/huabar]] |
 </WRAP> </WRAP>
  
 画吧是一个成立于 2013 年的绘画 APP,其特点是用户上传作品到社区时,APP 会同时上传工程文件。浏览者可以播放工程文件,看到每一笔一画的作画过程。 画吧是一个成立于 2013 年的绘画 APP,其特点是用户上传作品到社区时,APP 会同时上传工程文件。浏览者可以播放工程文件,看到每一笔一画的作画过程。
-在 2024-01-13 ,[[#关站公告|画吧宣布将于 2024-02-08 关站]]。+在 2024-01-13 ,[[#关站公告|画吧宣布将于 2024-02-08 关站]]。((老板还欠着银行 25 万没有还,hhh。 {{ :画吧:2023_苏0591执1084号之一.pdf |}}))
  
 ===== 截图 ===== ===== 截图 =====
行 35: 行 46:
 ---- ----
  
-<WRAP center round todo 60%> +===== 绘画作品(note) =====
-条目以下内容还需要完善 +
-</WRAP> +
- +
- +
- +
-欠银行 25 万。(({{ :画吧:2023_苏0591执1084号之一.pdf |}})) +
- +
- +
-#TODO: 投资方撤资 +
- +
-#TODO: 安全漏洞 +
- +
-#TODO: 人员流失 +
- +
-#TODO: API 列表 +
- +
-#TODO: 存档过程 +
- +
-#TODO: APK 反编译 +
- +
-===== 绘画作品 =====+
  
 画吧主要使用七牛云的 oss 和 cdn ,我们如果从公网下载这 10TB 的数据, 画吧主要使用七牛云的 oss 和 cdn ,我们如果从公网下载这 10TB 的数据,
 那么将给他们带来 4000 元以上的账单。因此我们在同地域设了一台 VPS,通过内网 那么将给他们带来 4000 元以上的账单。因此我们在同地域设了一台 VPS,通过内网
-下载画吧的数据,再打包发送到我们的各个存储服务器。+下载画吧的数据,再打包发送到我们的各个存储服务器暂存
  
 ==== 元数据 ==== ==== 元数据 ====
  
-首先爬取全站绘画作品的元数据,扔进 MongoDB:(#TODOgithub href)+首先爬取全站绘画作品的元数据,扔进 MongoDB:
  
 <code> <code>
行 74: 行 64:
 } }
 </code> </code>
- 
-响应示例:TODO: 示例 
  
 方便起见,我们将响应里的 ''%%["recomNotes"]%%''(用于在页面底部显示其它的作品推荐)全替换为空列表。 方便起见,我们将响应里的 ''%%["recomNotes"]%%''(用于在页面底部显示其它的作品推荐)全替换为空列表。
行 105: 行 93:
 </code> </code>
  
 +notes 元数据:[[https://archive.org/download/huabar_dumps/huabar.mongodb.notes.jsonl.zst|huabar.mongodb.notes.jsonl.zst]]
 ==== 下载 ==== ==== 下载 ====
  
行 117: 行 106:
  
  
-haowanlab.qiniudn.com 可在七牛杭州内网用下面的方式下载:+haowanlab.qiniudn.com 可在七牛杭州内网((一个有趣的事实:七牛卖身阿里了,它的QVM其实是阿里云的ECS。而且从真阿里内网拉七牛OSS的带宽比七牛对七牛要大一个数量级。))用下面的方式下载:
  
 <code> <code>
行 155: 行 144:
 而后 JAA 注意到一个糟糕的情况: 而后 JAA 注意到一个糟糕的情况:
  
-I see some notes with `null` in my archives that actually exist: noteid=1001301 +> some notes with `null` in my archives that actually exist: noteid=1001301
-> I caught this because I wanted to make sure I had nothing extra in the data from the early test runs.+
 > It's a bit tricky to get decent numbers on this, but I have roughly 900 cases among my test runs where the response differed from the final run. The test runs covered roughly 20k IDs. > It's a bit tricky to get decent numbers on this, but I have roughly 900 cases among my test runs where the response differed from the final run. The test runs covered roughly 20k IDs.
  
行 162: 行 150:
 ==== 上传 ==== ==== 上传 ====
  
-每个 ZIP 压缩包(以及他们的 ''%%.keys%%'' 文件)根据它们的文件名上传到 ''%%huabar_[ali|qiniu]-draw-YYYYMMDD-HH%%'' 这样的 identifier 中——也就是同一小时的下载放进同一个 item 里。例如 [[ia>huabar_qiniu-draw-20240128-01]][[ia>huabar_ali-draw-20240130-00]]+每个 ZIP 包(以及他们的 ''%%.keys%%'' 文件)根据它们的文件名上传到 ''%%huabar_[ali|qiniu]-draw-YYYYMMDD-HH%%'' 这样的 identifier 中——也就是同一小时的下载放进同一个 item 里。例如 ''huabar_qiniu-draw-20240128-01''''huabar_ali-draw-20240130-00''
  
-===== APK 反编译 =====+===== 直接打开工程文件 =====
  
 有两种格式的工程文件。新的用: 有两种格式的工程文件。新的用:
行 191: 行 179:
  
 用来把过期vip用户的云草稿变成不可点击,改成 do nothing 就行。 用来把过期vip用户的云草稿变成不可点击,改成 do nothing 就行。
 +
 +登录貌似强制要求是 https,用 http 会弹 toast "server busy" 之类的,且没有实际请求发出。
  
 ===== 功能 ===== ===== 功能 =====
行 201: 行 191:
   * 画吧论坛   * 画吧论坛
  
-==== 用户收藏夹(collection) ====+==== 用户关注(fans/follow)====
  
-=== 作品(note)收藏 ===+保存了用户之间的关注关系。没有做到全量保存,因为新用户默认关注画郎/画娘,数量太大,处理分页不方便。计 14,205,933 个用户 31,688,768 条关注关系(包含关注时时间戳)。 
 + 
 +SQLite 数据(未整理):[[https://archive.org/download/huabar_dumps/huabar.follow.db.xz|huabar.follow.db.xz]] 
 + 
 +查看方法: 
 + 
 +<file sql> 
 +CREATE TEMP VIEW IF NOT EXISTS follow_view AS 
 +SELECT 
 +    u1.jid AS from_jid, 
 +    u2.jid AS to_jid, 
 +    f.orderid 
 +FROM 
 +    follow f 
 +    JOIN users u1 ON f.from_uid u1.uid 
 +    JOIN users u2 ON f.to_uid u2.uid; 
 +</file> 
 + 
 +==== 用户收藏(collection)====
  
 收藏按钮放在了分享按钮的次级菜单里,因此用的人很少。 收藏按钮放在了分享按钮的次级菜单里,因此用的人很少。
 +
 +<code>
 +POST S_HTTP_PREFIX + "/RegisterDemo1/servlet/Collecting"
 +</code>
 +
 +^ 参数名 ^ 类型 ^ 描述 ^
 +| ''jid'' | ''string'' | 用户 ID |
 +| ''subtype'' | 枚举 | 作品 ''2'',贴子 ''5'' |
 +| ''collectionid'' | ''uint'' | 用于分页加载数据。若为 ''0'',则返回最新;不为 ''0'',返回数据中的所有项的 ''collectionid'' 小于此值 |
 +
 +=== 作品(note)收藏 ===
 +
 +== 示例 ==
 +
 +<code powershell>
 +curl -X POST -H "Content-Type: application/octet-stream" -H "Accept-Encoding: gzip" -d '{"jid":"f3bhs-0@zhizhiyaya.com/HuaLiao","subtype":2,"collectionid":0}' http://s.haowanlab.com:8900/RegisterDemo1/servlet/Collecting
 +</code>
 +
 +<file json response.json>
 +{
 +    "subtype": 2,
 +    "requestid": "8b672a561fc64119a93c12c1ea449084",
 +    "relist": [
 +        {"headline": "这可是葬礼24h啊","noteid": 19065929,"bookid": 0,"nickname": "鉴奈小队长","pagenum": 0,"notetype": 3,"praise": 627,"jid": "q9q5xsbj-0@zhizhiyaya.com/HuaLiao","collectionid": 9509959,"url": "http://qncdn.haowanlab.com/5bb0ac88a68bc70515bd247488d79686-mid800","faceurl": "http://qncdn.haowanlab.com/5b4d035b7144b1812e0978fd1e4c4f23","aspectratio": 1.564,"user_ex": {"remark": "","frameid": 34}},
 +        ...,
 +        {"headline": "character setting  4","noteid": 18052405,"bookid": 0,"nickname": "贰拾肆","pagenum": 0,"notetype": 11,"praise": 231,"jid": "r3fhqp09-0@zhizhiyaya.com/HuaLiao","collectionid": 9261119,"url": "http://qncdn.haowanlab.com/7d05623c3827b585b7ece24fc20e9c19-mid800","faceurl": "http://qncdn.haowanlab.com/41b22bc9adbeaa2239f471d60bc5b8a5","aspectratio": 0.806,"user_ex": {"remark": "","frameid": 60}}
 +    ]
 +}
 +</file>
 +
 +最后一项的 ''collectionid = 9261119'' 作为下一次请求的 ''collectionid''
 +
 +<code powershell>
 +curl -X POST -H "Content-Type: application/octet-stream" -H "Accept-Encoding: gzip" -d '{"jid":"f3bhs-0@zhizhiyaya.com/HuaLiao","subtype":2,"collectionid":9261119}' http://s.haowanlab.com:8900/RegisterDemo1/servlet/Collecting
 +</code>
 +
 +== 存档情况 ==
  
 用户收藏夹由//OverflowCat//负责存档。所有发布过作品的用户(画师)的收藏夹已遍历;其他一般用户数量太多,存档效益不高,只存了部分就暂停了。 用户收藏夹由//OverflowCat//负责存档。所有发布过作品的用户(画师)的收藏夹已遍历;其他一般用户数量太多,存档效益不高,只存了部分就暂停了。
  
-//OverflowCat// 明天整理后发 sqlite 数据。+SQLite 数据(未整理):[[https://archive.org/download/huabar_dumps/huabar.note-collections.db.xz|huabar.note-collections.db.xz]]
  
 === 论坛帖子收藏 === === 论坛帖子收藏 ===
  
-#abandon+所有发布过作品的用户(画师)的收藏夹已遍历,待整理。 
 + 
 +==== 画册(book) ==== 
 + 
 +每个画册需要画币建立,可以放入作品(''element''),每个作品下可写图片的描述(''elementbrief'')。API 返回一个 ''elementlist''。 
 + 
 +没爬完,数据待整理。
  
 ==== 玄珠画板 ==== ==== 玄珠画板 ====
行 238: 行 289:
 获取某个用户拥有的笔刷。''%%subtype: 1 笔刷,2 纹理, 3 塑体模型%%'' 获取某个用户拥有的笔刷。''%%subtype: 1 笔刷,2 纹理, 3 塑体模型%%''
  
-//玉米狐狸//遍历了发过作品的用户(?)的笔刷(包含纹理和塑体模型)。提出来的 URL 列表见:[[atfile>10b1Zu/huabar_brush.20240202.urls.txt.zst]],AB 存档[[abjob>f0y9uwxoja117muh7543b4mjr]]+//玉米狐狸//遍历了发过作品的用户(?)的笔刷(包含纹理和塑体模型)。第一次提出来的 URL 列表见:[[atfile>10b1Zu/huabar_brush.20240202.urls.txt.zst]]([[abjob>f0y9uwxoja117muh7543b4mjr]]),关站前增量补了一次新爬到和漏爬的 URL [[atfile>C7NFI/huabar_brush.20240202-20240208.increment.urls.txt]]([[abjob>9iv8nzda1sxui9hptilae2lkb]])
  
 #TODO: 数据库整理后发布。 #TODO: 数据库整理后发布。
画吧.1707328128.txt.gz · 最后更改: 2024/02/07 17:48 由 yzqzss

除额外注明的地方外,本维基上的内容按下列许可协议发布: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki