本项目使用 python 编写,分析 tumblr 账户中喜欢的内容,给出资源链接,并下载。这个过程需要通过 OAuth 认证,具体可参看这个网页
其中 likes.json
是一份 tumblr 返回的喜欢数据的 json 示例,提取里面图片和视频的资源地址后下载,下载的内容如下图。
- normal
pip install -r requirements.txt
python run.py
- or
run.exe
-
1、首先,你需要通过 tumblr API 来获取账户喜欢内容。这个过程是需要通过 OAuth 认证的,具体可参看这个网页. 具体到这个程序里,就是程序在运行时会给出一个链接,复制该链接到浏览器,点击允许后,网页会自动跳转到一个新的地址,再将这个地址复制,粘贴到程序里,之后便可以通过认证。这个认证只需要执行一次,认证文件便会保存在本地,之后就可以不用在执行认证了。
-
2、得到认证后,通过
python get_json_v2.py
来获取资源内容,也可以通过这个网页来查询,结果会通过 json 的形式返回。
-
1、
get_json_v3.py
填入你的 blog_id,需要设置分享你的喜欢[临时],可在下载结束后关闭。 -
2、NULL
-
3、返回的 json 数据,命名为
likes.json
,执行命令python json_parse.py
,这可以从 json 文件中提取出资源的真正链接,并存为url_list.txt
文件 -
简单来说就是把大象装冰箱的三步:1
python get_json_v2.py
2python json_parse.py
3download.py
-
download_thread.py
是多线程下载,理论上比download.py
要快,因此第三步可以用download_thread.py
下载 -
download_process.py
也是并发下载,理论上比download_thread.py
要快,因此第三步也可以用download_process.py
下载
-
由于众所周知的原因,tumblr 的资源地址是不能直接下载的,因此需要设置代理。测试时使用 ssr 代理本地连接,因此
download.py
中有PROXIES = { "http": "http://127.0.0.1:1080", "https": "https://127.0.0.1:1080" }
,如果是在可直接访问 tumblr 的 VPS 上运行,可对代码做如下修改。# PROXIES = { "http": "http://127.0.0.1:1080", "https": "https://127.0.0.1:1080" } PROXIES = {}
-
这个项目下载的是账户中的喜欢内容,因此需要进行认证。如果是下载某个账户发布的内容,可使用tumblr-crawler,再次感谢 tumblr-crawler 项目
-
run.exe
在 win7 64位/win10 64位 环境下测试成功,不保证别的运行环境。默认开启本地 1080 端口代理。默认使用多线程下载。