跳至主要内容

歌曲地址解析器 yosong

项目开源地址:音乐消除国界,下载废除权限:歌曲地址解析器 yosong 感谢作者

那么,现在情况是这个样子的,我又想下歌了。在很久很久以前,百度音乐上的歌曲存有 128kbps、192kbps、320kbps 三种品质的,当时注册一个普通帐号就可以下载任意品质,在懒惰魔的诱惑下,我写了个叫 biabiamiamia 的程序,帮我下载指定歌手的全部歌曲
,那时候,喜欢的歌手基本都被拖到硬盘上了。最近,广播里放了几首新人的歌,邓紫棋版的“黑腹美”很是喜欢,好吧,把 biabiamiamia 翻出来看下还能跑不?我勒个去,完全用不起啊。是当个丑男还是当个懒人呢?好吧,一懒到底,必须得有个程序帮我批量下载。
现在的百度音乐存有普通品质(128kbps)、高品质(192kbps)、超高品质(320kbps)、无损品质(flac 800+kbps)四种,其中,320 的需要 VIP 帐号才能下载,而 flac 的甚至需要白金 VIP 才能下载,程序必须首先解决帐号权限的问题;另外,之前监管不那么严格的时候,百度音乐提供大量歌曲免费供大家下载,后来百度开始收费,那么相应百度自己需要先购买这些歌曲的版权,对于百度买了版权的歌曲,它当然可以通过收费会员机制盈利,但,未购买版权的歌曲,即便服务器上有现成的资源,也不得提供给会员下载,所以,程序还得解决这类因百度自身版权而无法下载的问题,比如,王菲-《醇经典》-誓言(http://music.baidu.com/song/s/75053f8340854da16d5 )。
耽误了我一周乒乓球时光,总算找到了可靠方法,剩下的就是编码实现 yosong,除了上述两个功能外,顺带实现了其它几项,基本上,现在的 yosong 具备了以下能力:
0)绕开白金收费会员才能下载无损品质歌曲的限制;
1)绕开百度自身版权问题歌曲而无法下载的限制(即便白金收费会员从官方渠道也无该功能);
2)绕开非大陆之外区域无法下载的限制(即便白金收费会员从官方渠道也无该功能);
3)一键式全站歌曲下载(即便白金收费会员从官方渠道也无该功能);
4)绕开高频访问出现验证码的限制。
虽然我用了"下载"这个词,但 yosong 并不会为你下载任何歌曲,严格地说,它是个百度歌曲最终下载地址解析工具,就我而言,我会先让 yosong 帮我解析出指定歌手的所有歌曲的 320 码率最终下载地址,然后以专辑为单位丢给迅雷帮我批量下载。
##源码安装
####‘linux’ 0)唯一依赖 libcurl,请自行安装;
1)代码采用 C++11 编写,gcc 版本不低于 4.7.1。
2)命令行下运行:
$ cd yosong/build/
$ cmake .
$ make && sudo make install
####‘osX’ 先将 build/CMakeLists.txt 中的
TARGET_LINK_LIBRARIES(yosong curl pthread)
替换成
TARGET_LINK_LIBRARIES(yosong curl pthread iconv)
其他同 linux 构建方法。
##命令行选项
yosong 是一个命令行程序,要用好它,你得先了解几个命令行选项的常识:
0)--option 'argc',其中,--option 称之为命令行选项,argc 为命令行参数;
1)某些命令行参数中可能含有对 shell 有特殊含义的字符(如,后台运行的 &、用于分割符的空格),为避免 shell 误解,通常,应该用英文单引号包裹命令行参数。如,--user 'yangyangwithgnu';
2)某些命令行选项可以有多个参数,通常,每个参数单独用英文单引号包裹,参数间用空格分割。如,--album '八度空间' '范特西' '我很忙';
yosong 典型的用法:
yosong --user 'yangyangwithgnu' --password 'abcd1234' --artist '伍佰'
这样,yosong 就会帮你把歌手伍佰的所有歌曲的 320 码率下载地址解析出来,一是输出在屏幕上、一是保存至 ~/伍佰@HHMMSS.txt 中。
具体而言,yosong 提供了如下命令行选项。
--help
显示帮助信息。该选项优先级最高,出现该选项时忽略其他所有选项。
可选。
--version
显示当前版本信息。该选项优先级仅次 --help
可选。
--user
指定百度帐号。普通免费帐号即可,无需白金付费会员帐号。
必填。
单参数。
无默认值。
--password
指定百度帐号密码。
必填。
单参数。
无默认值。
--artist
指定歌手名。
必填。
单参数。
无默认值。
--album
指定专辑名。该专辑必须归属 --artist 指定歌手的,否则无法下载。若未指定该选项则默认下载 --artist 指定的歌手的所有专辑、所有歌曲。若有多张专辑,请空格隔开,如,--album '八度空间' '范特西' '我很忙'。
可选。
多参数。
无默认值。
--quality
指定歌曲品质。百毒音乐上的歌曲有四种品质:标准品质(128kbps)、高品质(192kbps)、超高品质(320kbps)、无损品质(800+kbps),yosong 依次有四种参数与之对应:128、192、320、flac。如果指定品质不存在,那么依次找 320、192、128、flac 等存在的品质,找到即下。
必填。
单参数。
默认值,320。
--ignore-size-lower
有些歌曲尺寸太小相应音质就不高,若想忽略小尺寸的歌曲,可以通过该选项指定一个以 MB 为单位的尺寸下限,凡低于该尺寸的歌曲均不下载。注意,0)该选项的参数可以指定小数;1)指定时不用带单位,如,--ignore-size-lower 6 而非 --ignore-size-lower 6M;2)如果不在乎歌曲尺寸可以将该选项指定为 0。
必填。
单参数。
默认值,6。
--path
指定歌曲最终下载地址保存路径,文件命名规则:artistname@hhmmss.txt
必填。
单参数。
默认值,~/
##FQA
Q0:yosong 可以解析哪些歌手的歌曲?
A0http://music.baidu.com/artist
Q1:为何我昨天解析出的最终下载地址,今天下载全部失败呢?
A1:最终下载地址是有有效期的,要下载时才解析,不要先解析一大堆等多久才下载,很可能过期滴。
Q2:yosong 为何不集成下载工具?
A2:我是个受尽 K.I.S.S. 摧残的人儿,术有专攻,让其他第三方专业下载工具去执行具体下载任务吧。当然,我也是个有爱的人儿,帮你准备了
bool Song::download (const string& path, const string& quality, const unsigned timeout);
成员函数,它内部集成 aria2c,适当调整下 main.cpp 中的逻辑即可集成下载。我倒是建议直接用迅雷,以专辑为单位把整个专辑的下载地址拷贝下来,迅雷自动除去非 URL 文本,批量下载,并且还能正确给文件命名。
Q3:为何有类似“咖哩鱼蛋(1.1MB too small)”红色报错信息?
A3:有些歌曲尺寸太小相应音质就不高,对于您这样有品味的人,宁可不下载也不要被这些低质声音污染耳朵,所以,你可以通过该选项指定一个以 MB 为单位的尺寸下限,告诉 yosong 忽略小于该尺寸的歌曲。如果你是个接受度很广的人,可以将 --ignore-size-lower 设置为 0。
Q4:为何默认品质是 320 而不是无损的 flac?
A4:尼玛,劳资的车载音响不支持 flac 格式 (ง •̀_•́)ง
Q5:为何迅雷下载回来的歌曲出现类似 96892368400320.mp3 这样的文件名?
A5:yosong 解析出来的最终下载地址类似 http://yinyueshiting.baidu.com/data2/music/51503996/96892368400320.mp3?xcode=0518d0d4beb3be2fea45adb97777a278d990c3a07c5eb44d ,通常来说,下载工具会向资源提供服务端查询文件名,然后再下载,迅雷在这方面做得不错,但如果你向单个资源服务器同时发起大量并行查询,其中某几个可能查询失败,所以就出现迅雷按 URL 中的信息给文件命名的情况。要规避这种情况,你可以减少并行下载任务数量(4 个为宜),或者,对已经下载的文件,右键查看音频属性,那儿会有正确的歌曲名,如下图:

(音频属性中提取真实文件名)
Q6:周杰伦的歌明显不全嘛?
A6:对于百度未收录的歌曲资源,yosong 无能为力。
Q7:yosong 要求输入百毒帐号,安不安全?
A7:不安全。我可能把持不住用你的帐号干各种邪恶、抑郁以及不纯洁的事。为了您一身的英明,建议你注册个小号,明白我的意思了么,亲爱的。
Q8:yosong 是否具备“一键”解析百毒音乐全站歌曲的能力?
A8:哼哼哼,好像、或许、应该、我觉得,是具备的。你知道,只需指定歌手名,yosong 能解析该歌手的所有专辑的所有歌曲,同时,yosong 又能遍历出所有歌手,所以,只需增加八行代码即可,具体是 ...,等下,我接个电话先,010-65232656 打来的 ...
Q9:我指定下载 flac 这种无损品质,为何 yosong 下载回来的是 mp3 格式呢?
A9:百毒音乐上的歌曲含有标准品质(128kbps)、高品质(192kbps)、超高品质(320kbps)、无损品质(800+kbps)等四种品质,前三者为 mp3 格式、最后一种为 flac 格式。大部分歌曲四种品质都有,少部分歌曲缺失某类品质,如果指定品质不存在,那么 yosong 依次查找 320、192、128、flac 等存在的品质,找到即下,所以,如果你指定的是 flac 而下载回来的是 mp3,那肯定是该歌曲缺失 flac 品质。至于说,在指定品质不存在时,查找优先级为何把 flac 排在最后,前面说过了,那是因为劳资的车载音响不支持 flac 格式,基本上,我只下载 320 品质的 mp3,如果某歌曲没有 320 的,我希望下载 192 的,而不是“自作聪明”下 flac 的。
Q10:yosong 最小只能以专辑为单位下载,如果我只想下载单首歌曲,咋办啊?
A10:请在门外帮我把门关上。
Q11:非正常退出 yosong 有无危害?
A11:yosong 通过某些机制绕开百度限制,其中涉及把歌曲加入收藏,收藏夹有收藏歌曲数量的限制(8K),虽然 yosong 会自动清理由它加入收藏的歌曲,但,当非正常退出时,清理这步可能未执行,所以,建议定期到 http://yinyueyun.baidu.com/ 手工清理收藏夹,否则,yosong 无法正常运行。
##接下来你可以
yosong 不是终点,而是你的起点,基于它你可以:
0)调用 Song::download() 集成 aria2c 下载工具;
1)创建 GUI 版本,为害怕 CLI 的亲们带去曙光;
2)创建网站版本,yosong 在幕后,提供歌曲下载地址解析,类似硕鼠网;
3)移植 windows 版本。
##最后的一定是最不重要的

Popular posts from 产品随想的博客

BG投资十问(Baillie Gifford)

  1,公司是否能正面推动经济、社会或者文化发 展? 如果做不到,BG可能就不会再往下看了。比如军火、赌博类公司再便宜,BG不会去看。 2,公司销售额在5年之内能否翻倍? 为什么要讨论销售额?因为BG关注公司成长,销售额是比较简单直观的指标,而利润可有一些方法调节。所以,BG主要先关注销售额,再看现金流。 3,公司5年之后会怎么样? 这是未来5到10年或者5到15年的中间维度,一是看公司的成长空间究竟还有多大,二是考虑5年之后,公司的短期估值会不会下降,会不会变得成熟。 4,公司的竞争优势到底是什么?随着时间会变 强还是变弱? BG认为,如果公司的竞争优势是不断变弱的,将来在更远期挣回现金流的可能性就更低了。 5,公司是否有非常独特的文化?文化是否能够进化? 毕竟要投资这么长时间,对创始人和公司管理文化是非常关注的。特别喜欢创始人领导的公司,而不是说创始人什么都不干,创始人在做房地产,找了一些人在做新公司,要尽量避免这样的公司。 谈到进化在BG看来,大部分公司都会有大公司病,需要看它怎么能维持比较灵活的管理,变大之后还能够保持非常快速的成长,比如亚马逊的day one文化(注:就是始终处在 创业启动状态,充满迷茫和压力,但是充满创造力和颠覆思想 )。 6,公司过去的回报率怎么样? 一方面是考虑到公司的ROE(净资产收益率),二是考虑公司的Margins(利润),看它的过去是不是值得投资,如果每年ROE都不到10个点,可能长期来看也没什么意思。 7,ROE能不能随着时间增长? 有些公司一开始没有盈利,一直在烧钱,5年之后说不定ROE会到20%或者更高,它是一个动态过程。这样的公司BG也会投资,包括一些早期项目,很多公司都是没有盈利的。 8,公司怎么分配资本? 资本现金流无非就是5种方法:再投资、收购、还债、分红、回购股份,要看公司在某个阶段的资本分配是不是最优的。 如果公司明明可以发展更多,结果乱分红了;或者是明明到了特别成熟的时候,还不愿意分红,都是错误的分配资本。 9,公司怎样才能长成5倍? BG关注的是怎样,而不是能不能。这会强迫BG每个人去设想一些未来的可能性,包括公司现在的底层架构能不能够延伸到更多的业务。 比如,早期的亚马逊或者是阿里,连一个概念都没有,BG会考虑这个公司有没有这种机遇,以后去扩展到可触及的市场。 10,市场对公司有哪些误解,哪些事...

产品随想 | 周刊 第126期:Think of your life as a rainbow arcing across the horizon of this world

FolderPaint   https://github.com/MichaelTr7/FolderPaint Folder colour changing application for macOS. 乔布斯说:“对于我和苹果公司的许多人来说,索尼的盛田昭夫是最大的灵感来源之一。我希望我们今天的所想所为能让他会心一笑。” 乔布斯甚至从索尼挖走了一位顶级设计师。哈特穆特·艾斯林格被苹果挖走前,已在 100 多种索尼产品的创造中发挥了重要作用。 供职于索尼时,艾斯林格所在的设计工作室与管理办公室和工厂车间享有同等地位。他说,这样有助于促进公司生产和设计团队之间在一定程度上达成团结,这正是乔布斯试图重建的团结。 艾斯林格指出:“乔布斯有能力洞察事物的好坏,却不知道如何实现以及如何通过组织去构建。因此,我们向苹果提出的第一个建议是,赋予设计师一定的话语权。” 斯卡利表示,乔布斯和盛田之间的深厚友谊和相互敬重可以归结为对于设计的共同热忱。 “他们以非常积极的方式产生了共鸣”,斯卡利说,“两位来自不同文化背景的创始人共聚一堂,这是非常难能可贵的。他们讨论设计原则,却从不谈及商业模式。” “Think of your life as a rainbow arcing across the horizon of this world. You appear, have a chance to blaze in the sky, then you disappear.” City Lights Bookstore   https://en.wikipedia.org/wiki/City_Lights_Bookstore?useskin=vector 旧金山的城市之光独立书店 Vesuvio Cafe   https://en.wikipedia.org/wiki/Vesuvio_Cafe?useskin=vector 好奇怪,这家Cafe居然没有太多的介绍 “One of the things that I was fortunate of was to see and understand the context of San Francisco through the eyes of Steve Jobs,” Mr. Ive said. “He kn...

产品随想 | 周刊 第68期:Glory to Z-Library

Products Anna’s Archive   https://annas-archive.org/ Search engine of shadow libraries: books, papers, comics, magazines. Z-Library不会消失,只会激励更多 ReVanced Manager   https://github.com/revanced/revanced-manager The official ReVanced Manager based on Flutter. YouTube免广告 Gopeed   https://github.com/monkeyWie/gopeed High speed downloader that supports all platforms. All Platforms,非常霸气,除了iOS,确实都支持了 The Twitter archive   https://github.com/timhutton/twitter-archive-parser Python code to parse a Twitter archive and output in various ways 逃离Twitter Ideas 吴晓波|“我们这是怎么了?”   https://chinadigitaltimes.net/chinese/680826.html 我辈需保持那股企业家的精气神 Worth Moving to Sweden as Engineers?   https://hongchao.me/living-and-working-in-sweden-as-engineers/ 瑞典工作10年的华人工程师,分享自己的看法 Murray Newton Rothbard 默里·罗思巴德   https://zh.wikipedia.org/wiki/穆瑞·羅斯巴德 米塞斯学生,也是推崇自由主义、开放社会 个人工具箱(2022 年 11 月 16 日更新)   https://github.com/pseudoyu/yu-tools 我的个人工具箱 (设备, macOS 软件, iOS Apps...) Design 2022台北...

产品随想 | 周刊 第127期:晨光只开一刻钟,但比千年松,并无甚不同

Cherry Studio   https://github.com/CherryHQ/cherry-studio Cherry Studio is a desktop client that supports for multiple LLM providers. Support deepseek-r1 Aalto Repository beta   https://repo.aalto.fi/ Images, sounds and videos from Aalto University 这个系列,价值极高 Nokia Design Archive   https://nokiadesignarchive.aalto.fi/ 芬兰这个国家很了不起 对话影石刘靖康:两代未出现划时代的产品,就会沦为平庸的品牌   https://www.geekpark.net/news/308996 还挺喜欢这个创始人的,有一种海盗的内涵 从哈佛、明星创业者到酷家乐副总裁,苏奇的传奇   https://app.modaiyun.com/mdy/article/3FO4K4W0M259 WHO关于猫狗咬伤、抓伤的处理建议 动物咬伤: https://www.who.int/zh/news-room/fact-sheets/detail/animal-bites 狂犬病: https://www.who.int/zh/news-room/fact-sheets/detail/rabies 关于狂犬病的10个事实: https://www.who.int/zh/news-room/facts-in-pictures/detail/rabies INDIGO 新年直播(2025)   https://www.youtube.com/live/ZIgPvSDGAfY 对2024年AI发展的回顾部分特别好 Artab   https://github.com/get-artab/artab Get Inspired by the World's Greatest Artworks Every Time You Open a New Tab. Extension Available for Chrome, Edge, and...

产品随想 | 周刊 第39期:《自由秩序原理》

Products Exodus   https://github.com/Exodus-Privacy/exodus-android-app Exodus is an Android application that let you know what trackers are embedded in apps installed on your smartphone using the εxodus plateform. It let you also know the permissions required by any apps on your smartphone. 检测你Android机子获取权限、嵌入追踪SDK的 simplewall   https://github.com/henrypp/simplewall Simple tool to configure Windows Filtering Platform (WFP) which can configure network activity on your computer. Mem Reduct Lightweight real-time memory management application to monitor and clean system memory on your computer. 内存清理工具,Windows上挺多这类小工具,很有意思 Squad303   https://1920.in/ 提供大家一个方式,告诉俄罗斯人,乌克兰在发生什么 Chameleon   https://github.com/sereneblue/chameleon WebExtension port of Random Agent Spoofer 帮助隐匿浏览器信息 CanvasBlocker   https://github.com/kkapsner/CanvasBlocker 浏览器指纹识别是丧心病狂 Alpine Linux   https://zh.wikipedia.org/zh-hans/Alpine_Linux 以安全为理念的Linux分支 Wirecutter   https://www.nytimes.com...

产品随想 | 张鸣论中国传统政治

原始文章目录 张鸣:皇权不确定性下的统治术——传统中国官场机会主义溯源   https://www.aisixiang.com/data/68897.html 张鸣:从科举制到市场经济转型——官本位的源流及滥觞   https://www.aisixiang.com/data/59273.html 张鸣:权力边界何在,实话空间几许?——论中国政治传统中的权力与真理关系   https://www.aisixiang.com/data/67054.html Insight: 中国自秦汉以来一直是官僚化的帝制结构,虽然皇帝最终要凭借官僚这个中介才能统治国家,但官员的权力来源和合法性依据都是皇权。官僚机器只是帝制的“车轮”。所以,皇帝要怎么样,官员只要迎合,就能获利。只有在皇帝明显违反常识道理、造成重大灾祸之时,官员才可能凭借儒家伦理对皇帝提出批评。理性选择的结果使得官员更多地趋向于顺从皇帝。 ——符合历史以来的感知 中国尽管有两千多年官僚制的传统,但守规矩、遵法制、走程序的现代理性官僚制度却一直都没有建立起来。考试取官的确是理性官僚制的一个重要因素,但中国古代官僚制只是万里长征走完了第一步,然后就再也不走了。隋唐科举制建立的初衷也并非建设官僚体系,而是防止贵族垄断官职,强化君权。科举制度越来越严密,选拔出来的人才也愈发精英化。但是,官僚的行为却没有程式化和规法化。官员的个人行为偏好往往直接影响一地的发展。 ——如何再往前走一步,可以看看新加坡 官员的行为模式往往以皇帝的喜好为风向标。一般来说,皇帝喜欢什么,一个朝代就兴什么。汉初皇帝喜欢黄老,臣子们就清静无为;东汉皇帝喜欢儒生,则臣子们多为经学家;唐初皇帝喜人上书言事,则多诤谏之徒;到晚唐,皇帝喜欢佛教了,则多礼佛之士;清代嘉庆之后,皇帝提倡节俭,带头穿补丁衣服,则满朝文武衣服上都打了补丁,有的补丁比衣服本身还贵。 ——Interesting 皇帝行为的不确定性,势必导致官员行为无法程序化、规范化,而皇帝行为的不确定往往是由统治术决定的,属刻意为之。多数王朝都外儒内法,崇尚权术,甚至迷信权术。秦始皇和丞相李斯之间,有过一个小故事。李斯随从车马过盛,很是招摇,皇帝看了不高兴。随行的宦官就把这事告诉了李斯,李斯于是轻车简从,低调起来。秦始皇马上知道身边有人泄密,又审不出来,于是把当时在身边的人都杀...

信息流的初衷是节省用户时间

https://mp.weixin.qq.com/s/nMZzLkEe7Cfk6Wu5560m9w 讲述信息流前世今生,讽刺的是信息流发展之初是为了让用户在短时间内找到最需要自己关注的内容,现在却成为消磨时间、捕捉用户兴趣的一个作用。

A Tribute to a Great Artist: Steve Jobs

  Steve Jobs, who died October 5 after resigning in August as CEO of Apple, the company he co-founded, had many talents. But what set him apart from other computer wizards was his artistic sense. He continually used the word “taste” in explaining what was ready to be manufactured at Apple, and what wasn’t ready yet—what he had to reject. The Apple computer, the iPhone, the iPad and the iPod are all strikingly beautiful objects; the clarity of their visual design matches the way they function. It’s clear that Steve Jobs was an artist and that his artistry worked at many levels: it was a visual sensitivity that extended outward to a way of thinking about how things worked and how different variables could interact with each other in a pleasing harmony. Where did this ability come from? Jobs gave some credit for his success to a seemingly unlikely source—a course on calligraphy that he took as an undergraduate at Reed College, a course established by a maverick profes...

巴菲特致股东信-1969年

 编者笔记: 巴菲特正式清算合伙人企业。 我把它们视为实业,而非股票,如果长期而言实业的业绩良好,那么股票也会有着同样的表现。 我不想解散一个雇佣了1100人的生意,尤其在管理层已经在努力改善公司相对整体行业的表现,而且也取得了合理结果的时候,同时该业务目前尚不需要额外的资本投入。 但是如果未来我们面临需要投入大量资本,或者该业务遭受相当程度的损失时,我将做出不同的决定。 原文: 1969 年 5 月 29 日 致合伙人: 大概在 18 个月以前,我曾经给你们致信,认为投资环境和我个人情况的变化将导致我对我 们未来业绩预期做出调整。 我当时所讨论的投资环境 ,已经变得更加的恶劣且令人沮丧 。也许我仅仅是缺乏从精神层面 进行调整的能力。(正如一位评论家对超过 40 岁的证券分析师所评价的那样:“他们知道太 多如今已不再适用的东西 。”) 虽然如此,就我看来: (1) 在过去的二十年中,对于数量(定量)分析方法所能把握的机会 之水已经逐渐干涸 ,到今天可以说是已经完全枯竭了 ;( 2 )我们的资金基数已经达到一个亿 , 也就是说不超过三百万的投资量对于我们净资产的影响几乎可以忽略不计 ,实际上我们的投 资标的的市值已经不能低于一亿美元 ;( 3 )大量地对于投资的专注已经导致市场的交易行为 变得极度追求短期的利润,市场的投机性大大增加。 在 1967 年 10 月的信中我亦提到个人境遇的变化是我调整我们未来收益预期的最重要的原 因。我表达了自己不想再在合伙公司上注入我 100% 的精力的愿望。然而在过去的 18 个月 中我完全没有做到这一点。我曾经写到 :“希望随着预期的降低,我的对此投入的个人努力 也可以随之降低 。”然而实际上完全不是这样,我发现只要我一天还在管理合伙企业,我就 完全无法让自己投入到其它与之无关的东西上去。我不想让自己成为一个永远管理着资金 , 追逐着投资收益的疯狂的兔子,而唯一让我放缓脚步的办法,就是将其停止。 所以,在年底之前,我希望所有的有限合伙人都能正式地得知我的退休愿望。 1969 年 10 月 9 日 致合伙人: 以下是接下来我认为对于我的退休将要涉及的事情: ( 1 )向你们介绍一下 Bill...