吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3022|回复: 7
收起左侧

[Python 原创] VSCode半自动下载最新版脚本(不含Mac、32位版本)以及1.83.0的加速下载地址汇总

  [复制链接]
我心飞翔1995 发表于 2023-10-5 22:14
日常有搜集软件特定版本的习惯,加上自己配了一个绿色版的VSCode,每次更新需要下载最新的绿色版本来覆盖更新,但是官方地址比较慢,便融合网上检测VSCode更新地址的代码,加上自己需要下载的文件的地址,完成了如下代码。分享出来方便有类似习惯的小伙伴,或者需要给离线机器更新的运维朋友。
原理是通过GitHub的api检测最新的release,基于正则匹配识别出commit id,然后将commit id套用到微软下载地址模板中,再触发浏览器的下载,如果开了自动下载的话无需手动,没开的需要手动点一下。
能看懂代码的可以自己改,加上更多功能,我就到这一步可以了,懒得再加更多。看不懂的话,使用python运行之后,看到提示就输入y(一共两次)。实在不会的,用成品地址汇总自己替换commit id部分。
PS:代码和截图包含小福利,是官方没有直接首页放置下载入口的产品,喜欢的可以自己下载体验。

代码如下:
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import webbrowser
import time
import requests
import re
import sys
 
repo_url = 'https://api.github.com/repos/microsoft/vscode/releases/latest'
 
version = requests.get(repo_url).json()['tag_name']
answer = input(f'Latest Version is {version},Upgrade(y or n)?')
if answer == 'n':
    sys.exit()
 
release_url = requests.get(repo_url).json()['html_url']
commit_id = (re.search('href=\"/microsoft/vscode/commit/(.+?)\"',requests.get(release_url).text).group(1))
 
server_urls = [
    (f'https://update.code.visualstudio.com/commit:{commit_id}/server-linux-x64/stable',6),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/server-win32-x64/stable',6),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/server-alpine-arm64/stable',6),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/server-linux-arm64/stable',6)
]
server_web_urls = [
    (f'https://update.code.visualstudio.com/commit:{commit_id}/server-linux-x64-web/stable',6),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/server-win32-x64-web/stable',6),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/server-alpine-arm64-web/stable',6),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/server-linux-arm64-web/stable',6)
]
bin_urls = [
    (f'https://update.code.visualstudio.com/commit:{commit_id}/cli-win32-x64/stable',2),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/cli-win32-arm64/stable',2),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/cli-alpine-x64/stable',2),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/cli-alpine-arm64/stable',2),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/win32-x64-user/stable',10),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/win32-arm64-user/stable',10),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/win32-x64/stable',10),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/win32-arm64/stable',10),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/win32-x64-archive/stable',14),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/win32-arm64-archive/stable',14),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/linux-deb-x64/stable',10),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/linux-deb-arm64/stable',10),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/linux-rpm-x64/stable',14),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/linux-rpm-arm64/stable',14),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/linux-x64/stable',14),
    (f'https://update.code.visualstudio.com/commit:{commit_id}/linux-arm64/stable',14)
    ]
 
answer2 = input(f'Download(y or n)?choose n to print urls and write them into urls.txt:')
if answer2 == 'n':
    str1 = '\n'.join([ i[0] for i in server_urls])
    str2 = '\n'.join([ i[0] for i in server_web_urls])
    str3 = '\n'.join([ i[0] for i in bin_urls])
    output = f'''vscode server's urls are:
{str1}
vscode server web's urls are:
{str2}
vscode bin's urls are:
{str3}'''
    with open(r'./urls.txt','w') as f:
        f.write(output)
    print(output)
    sys.exit()
 
for url,wait_time in bin_urls:
    webbrowser.open_new_tab(url)
    time.sleep(wait_time)
     
for url,wait_time in server_urls:
    webbrowser.open_new_tab(url)
    time.sleep(wait_time)
     
for url,wait_time  in server_web_urls:
    webbrowser.open_new_tab(url)
    time.sleep(wait_time)

运行截图:
QQ截图20231005220136.png
QQ截图20231005220136.png
附送1.83.0的地址汇总,后续版本需要的可以自己手动替换commit id更新,本帖不更新后续版本地址。
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/cli-win32-x64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/cli-win32-arm64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/cli-alpine-x64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/cli-alpine-arm64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/win32-x64-user/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/win32-arm64-user/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/win32-x64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/win32-arm64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/win32-x64-archive/stable(windows x86的64位绿色版)
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/win32-arm64-archive/stable (windows arm的64位绿色版)
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/linux-deb-x64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/linux-deb-arm64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/linux-rpm-x64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/linux-rpm-arm64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/linux-x64/stable (linux x86的64位绿色版)
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/linux-arm64/stable (linux arm的64位绿色版)
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-linux-x64-web/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-win32-x64-web/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-alpine-arm64-web/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-linux-arm64-web/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-linux-x64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-win32-x64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-alpine-arm64/stable
https://update.code.visualstudio.com/commit:e7e037083ff4455cf320e344325dacb480062c3c/server-linux-arm64/stable

免费评分

参与人数 1吾爱币 +5 热心值 +1 收起 理由
苏紫方璇 + 5 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

my2003sky 发表于 2023-10-6 21:09
多谢分享。
zwl0929 发表于 2023-10-16 10:03
plutos77 发表于 2023-10-24 12:44
aqimo 发表于 2023-11-19 00:19
学习一下自动化
terrell3022 发表于 2024-8-14 09:13
这个可以啊
wolaileo 发表于 2025-1-29 15:49
这个好强大。。今天刚装好VScode。
用来学python。

有入门视频推荐不,谢谢
yys5161 发表于 2025-2-14 21:58
这个整理得比较强大的。方便多了。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-5-23 10:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表