jachinlin / geektime_dl Goto Github PK
View Code? Open in Web Editor NEW把极客时间装进 Kindle
Home Page: https://jachinlin.github.io/geektime_dl
把极客时间装进 Kindle
Home Page: https://jachinlin.github.io/geektime_dl
日志如下:
───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
│ File: geektime.log
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ log_time=2019-05-21 14:24:19,620 levelname=ERROR process=1 exception=Traceback (most recent call last):
2 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 63, in main
3 │ o.work(args)
4 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 26, in work
5 │ return self.run(args)
6 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/mp3.py", line 83, in run
7 │ super(Mp3Batch, self).run([cid.strip()] + args)
8 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/mp3.py", line 45, in run
9 │ data = dc.get_course_content(course_id)
10 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/data_client/__init__.py", line 59, in get_course_content
11 │ post_detail = self.get_post_content(post['id'], force=force)
12 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/data_client/__init__.py", line 36, in get_post_content
13 │ data = self._gk.get_post_content(post_id)
14 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/utils/__init__.py", line 36, in wrapper
15 │ result = func(*args, **kwargs)
16 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/data_client/gk_apis.py", line 126, in get_post_content
17 │ raise Exception('course query fail:' + resp.json()['error']['msg'])
18 │ File "/usr/local/lib/python3.7/site-packages/requests/models.py", line 897, in json
19 │ return complexjson.loads(self.text, **kwargs)
20 │ File "/usr/local/lib/python3.7/json/__init__.py", line 348, in loads
21 │ return _default_decoder.decode(s)
22 │ File "/usr/local/lib/python3.7/json/decoder.py", line 337, in decode
23 │ obj, end = self.raw_decode(s, idx=_w(s, 0).end())
24 │ File "/usr/local/lib/python3.7/json/decoder.py", line 355, in raw_decode
25 │ raise JSONDecodeError("Expecting value", s, err.value) from None
26 │ json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
27 │ location=/usr/local/lib/python3.7/site-packages/geektime_dl/cli/command.py:74
28 │
29 │ log_time=2019-05-21 14:32:15,111 levelname=ERROR process=1 exception=Traceback (most recent call last):
30 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 63, in main
31 │ o.work(args)
32 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 26, in work
33 │ return self.run(args)
34 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/mp3.py", line 83, in run
35 │ super(Mp3Batch, self).run([cid.strip()] + args)
36 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/mp3.py", line 45, in run
37 │ data = dc.get_course_content(course_id)
38 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/data_client/__init__.py", line 59, in get_course_content
39 │ post_detail = self.get_post_content(post['id'], force=force)
40 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/data_client/__init__.py", line 36, in get_post_content
41 │ data = self._gk.get_post_content(post_id)
42 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/utils/__init__.py", line 36, in wrapper
43 │ result = func(*args, **kwargs)
44 │ File "/usr/local/lib/python3.7/site-packages/geektime_dl/data_client/gk_apis.py", line 126, in get_post_content
45 │ raise Exception('course query fail:' + resp.json()['error']['msg'])
46 │ File "/usr/local/lib/python3.7/site-packages/requests/models.py", line 897, in json
47 │ return complexjson.loads(self.text, **kwargs)
48 │ File "/usr/local/lib/python3.7/json/__init__.py", line 348, in loads
49 │ return _default_decoder.decode(s)
50 │ File "/usr/local/lib/python3.7/json/decoder.py", line 337, in decode
51 │ obj, end = self.raw_decode(s, idx=_w(s, 0).end())
52 │ File "/usr/local/lib/python3.7/json/decoder.py", line 355, in raw_decode
53 │ raise JSONDecodeError("Expecting value", s, err.value) from None
54 │ json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
55 │ location=/usr/local/lib/python3.7/site-packages/geektime_dl/cli/command.py:74
56 │
───────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
请问我在执行时出现了错误,以下内容来自 geektime.log
log_time=2019-12-12 11:01:19,980 levelname=ERROR process=15623 ERROR: Traceback (most recent call last):
File "/Users/hg/Sites/.geektime/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 232, in main
o.work(args)
File "/Users/hg/Sites/.geektime/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 212, in work
return self.run(cfg)
File "/Users/hg/Sites/.geektime/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 54, in wrap
return func(*a, **kw)
File "/Users/hg/Sites/.geektime/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 54, in wrap
return func(*a, **kw)
File "/Users/hg/Sites/.geektime/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 54, in wrap
return func(*a, **kw)
[Previous line repeated 10 more times]
File "/Users/hg/Sites/.geektime/lib/python3.7/site-packages/geektime_dl/cli/ebook.py", line 164, in run
make_mobi(source_dir=src_dir, output_dir=output_folder)
File "/Users/hg/Sites/.geektime/lib/python3.7/site-packages/kindle_maker/ebook_maker.py", line 165, in make_ebook
subprocess.call([kindlegen, '-dont_append_source', opf_file])
File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 339, in call
with Popen(*popenargs, **kwargs) as p:
File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 800, in __init__
restore_signals, start_new_session)
File "/usr/local/Cellar/python/3.7.5/Frameworks/Python.framework/Versions/3.7/lib/python3.7/subprocess.py", line 1551, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 86] Bad CPU type in executable: '/Users/hg/Sites/.geektime/lib/python3.7/site-packages/kindle_maker/bin/mac/kindlegen'
location=/Users/hg/Sites/.geektime/lib/python3.7/site-packages/geektime_dl/cli/command.py:235
下载 159
Expecting value: line 1 column 1 (char 0)
Info(prcgen):I1047: Added metadata dc:Title "朱赟的技术管理课[未完待续]"
Error(core):E1008: Failed conversion to unicode. The resulting string may contain wrong characters.
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
[root@docker1 ~]# geektime ebook 115
'column_type'
执行下载命令会提示column_type
Additional context
Add any other context or screenshots about the feature request here.
pyenv 1.2.9-2-g6309aaf2
pyenv-virtualenv 1.1.3 (virtualenv unknown)
Python 3.6.8
pip 18.1 from /Users/warren/.pyenv/versions/3.6.8/envs/geektime/lib/python3.6/site-packages/pip (python 3.6)
Darwin Warrens-MacBook-Pro.local 16.7.0 Darwin Kernel Version 16.7.0: Sun Oct 28 22:30:19 PDT 2018; root:xnu-3789.73.27~1/RELEASE_X86_64 x86_64
('Connection aborted.', ConnectionResetError(54, 'Connection reset by peer'))
HTTPSConnectionPool(host='time.geekbang.org', port=443): Max retries exceeded with url: /serv/v1/column/intro (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f648503ad68>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution',))
提示
Expecting value: line 1 column 1 (char 0)
Expecting value: line 1 column 1 (char 0)
环境描述
问题描述
login的时候出现如下报错:
HTTPSConnectionPool(host='account.geekbang.org', port=443): Max retries exceeded with url: /account/ticket/login (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
geektime.log日志内容如下:
log_time=2019-01-22 10:35:47,859 levelname=ERROR process=16677 exception=Traceback (most recent call last):
File "/home/longhai/venv3/lib/python3.5/site-packages/urllib3/contrib/pyopenssl.py", line 453, in wrap_socket
cnx.do_handshake()
File "/home/longhai/venv3/lib/python3.5/site-packages/OpenSSL/SSL.py", line 1915, in do_handshake
self._raise_ssl_error(self._ssl, result)
File "/home/longhai/venv3/lib/python3.5/site-packages/OpenSSL/SSL.py", line 1647, in _raise_ssl_error
_raise_current_error()
File "/home/longhai/venv3/lib/python3.5/site-packages/OpenSSL/_util.py", line 54, in exception_from_error_queue
raise exception_type(errors)
OpenSSL.SSL.Error: [('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/longhai/venv3/lib/python3.5/site-packages/urllib3/connectionpool.py", line 594, in urlopen
self._prepare_proxy(conn)
File "/home/longhai/venv3/lib/python3.5/site-packages/urllib3/connectionpool.py", line 805, in _prepare_proxy
conn.connect()
File "/home/longhai/venv3/lib/python3.5/site-packages/urllib3/connection.py", line 344, in connect
ssl_context=context)
File "/home/longhai/venv3/lib/python3.5/site-packages/urllib3/util/ssl_.py", line 344, in ssl_wrap_socket
return context.wrap_socket(sock, server_hostname=server_hostname)
File "/home/longhai/venv3/lib/python3.5/site-packages/urllib3/contrib/pyopenssl.py", line 459, in wrap_socket
raise ssl.SSLError('bad handshake: %r' % e)
ssl.SSLError: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/longhai/venv3/lib/python3.5/site-packages/requests/adapters.py", line 449, in send
timeout=timeout
File "/home/longhai/venv3/lib/python3.5/site-packages/urllib3/connectionpool.py", line 638, in urlopen
_stacktrace=sys.exc_info()[2])
File "/home/longhai/venv3/lib/python3.5/site-packages/urllib3/util/retry.py", line 398, in increment
raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='account.geekbang.org', port=443): Max retries exceeded with url: /account/ticket/login (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/longhai/venv3/lib/python3.5/site-packages/geektime_dl/cli/command.py", line 63, in main
o.work(args)
File "/home/longhai/venv3/lib/python3.5/site-packages/geektime_dl/cli/command.py", line 26, in work
return self.run(args)
File "/home/longhai/venv3/lib/python3.5/site-packages/geektime_dl/cli/login.py", line 49, in run
gk.login(account, password, area)
File "/home/longhai/venv3/lib/python3.5/site-packages/geektime_dl/utils/__init__.py", line 22, in wrapper
return func(self, *args, **kwargs)
File "/home/longhai/venv3/lib/python3.5/site-packages/geektime_dl/data_client/gk_apis.py", line 54, in login
resp = requests.post(url, headers=headers, json=data, timeout=10)
File "/home/longhai/venv3/lib/python3.5/site-packages/requests/api.py", line 116, in post
return request('post', url, data=data, json=json, **kwargs)
File "/home/longhai/venv3/lib/python3.5/site-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "/home/longhai/venv3/lib/python3.5/site-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/home/longhai/venv3/lib/python3.5/site-packages/requests/sessions.py", line 646, in send
r = adapter.send(request, **kwargs)
File "/home/longhai/venv3/lib/python3.5/site-packages/requests/adapters.py", line 514, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: HTTPSConnectionPool(host='account.geekbang.org', port=443): Max retries exceeded with url: /account/ticket/login (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')],)",),))
location=/home/longhai/venv3/lib/python3.5/site-packages/geektime_dl/cli/command.py:74
下载这期时大量报错libpng warning
Info(prcgen):I1047: Added metadata dc:Title "趣谈Linux操作系统[更新完毕]"
Info(prcgen):I1002: Parsing files 0000073
libpng warning: incorrect header check
libpng warning: Data error in compressed datastream in zTXt chunk
libpng warning: incorrect header check
libpng warning: Data error in compressed datastream in zTXt chunk
libpng warning: incorrect header check
libpng warning: Data error in compressed datastream in zTXt chunk
Warning(inputpreprocessor):W29008: Tag rejected due to improper usage:
in file: /opt/ebook/1a872b75-32ee-4050-9dc6-ac86f9df1f14/67-期末测试:这些操作系统问题,你真的掌握了吗?.html line: 0000010
需要提供什么信息?
用Docker下载视频课程失败,日志如下:
log_time=2019-07-04 14:42:50,903 levelname=ERROR process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 63, in main
o.work(args)
File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 26, in work
return self.run(args)
File "/usr/local/lib/python3.7/site-packages/geektime_dl/cli/mp4.py", line 85, in run
url = json.loads(post['video_media']).get('sd', {}).get('url')
File "/usr/local/lib/python3.7/json/init.py", line 341, in loads
raise TypeError(f'the JSON object must be str, bytes or bytearray, '
TypeError: the JSON object must be str, bytes or bytearray, not NoneType
location=/usr/local/lib/python3.7/site-packages/geektime_dl/cli/command.py:74
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
(venv3) [root@k8s3 ~]# geektime login #直接登陆
enter your registered account(phone): xxxxx
account: +86 xxx
enter password: xxxx
ERROR: gk api fail:非法图形验证码
(venv3) [root@k8s3 ~]# geektime login #再次login还是会提示
ERROR: gk api fail:非法图形验证码
使用命令行登陆以后,无法显示已订阅的栏目。订阅都是否
🔥 如果支持pdf导出就好了,不用kindle也可以看,还可以打印成字纸,大佬可否支持一下呢~
A great number of books have oversized 50M and can not be pushed to kindle..
用的docker版本,在docker run -v pwd
:/output -it --rm geektime ebookbatch --all --enable-comments指令中pwd
是指的需要输入密码???还有,执行后发现并没有得到所有的课程,而且请问下载后的html在哪里放着??
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
报错信息:
Amazon kindlegen(Linux) V2.9 build 1028-0897292
A command line e-book compiler
Copyright Amazon.com and its Affiliates 2014
Info(prcgen):I1047: Added metadata dc:Title "Java核心技术36讲[更新完毕]"
Info(prcgen):I1047: Added metadata dc:Creator "jachinlin.github.io"
Error(core):E1008: Failed conversion to unicode. The resulting string may contain wrong characters.
Info(prcgen):I1002: Parsing files 0000045
Warning(inputpreprocessor):W29007: Rejected unknown tag:
in file: /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/第30讲|Java程序运行在Docker等容器环境有哪些新问题?.html line: 0000046
Warning(inputpreprocessor):W29004: Forcefully closed opened Tag:
in file: /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/第33讲|后台服务出现明显“变慢”,谈谈你的诊断思路?.html line: 0000030
Warning(prcgen):W14009: media file not specified
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/bf/06/bf6e3f87d162595ddaa5d0786c0ed806.jpg
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/17/0e/17ed56811412ccab5024a119511e0f0e.jpg
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/04/3f/0432ac1e431256fb894144aa2e66b03f.jpg
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/98/5f/98d02b66e1d3fdf8cc1f7f7c6f974b5f.jpg
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/c9/10/c9fae97c8a4954cb91b59dc7e59ab710.jpg
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/75/61/7559562971dc2eadd8fd03f02980a461.jpg
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/f8/d9/f8b11bdcb1559e472b77e23fcf184dd9.jpg
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/d2/12/d286554382cbba791f85e667ea124e12.jpg
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/4a/4f/4ab17456a34278a8ca18de54fea76f4f.jpg
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/3d/b8/3d70890354f556d1b3acbc2f2fdd99b8.jpg
Warning(prcgen):W14010: media file not found /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/https:/static001.geekbang.org/resource/image/35/bf/35c9a5cab69eae467adb7d85d76d41bf.jpg
Error(prcgen):E21018: Enhanced Mobi building failure, while parsing content in the file. Content: in file: /root/ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/周末福利|一份Java工程师必读书单.html line: 9
cp: cannot stat ‘./ebook/2bd634d0-ceb0-4458-afe5-a66ab471882a/Java核心技术36讲[更新完毕].mobi’: No such file or directory
Additional context
Add any other context or screenshots about the feature request here.
如题,想在电脑上看,没样式,太不舒服了
试着做了几个电子书,发现很多都超过 50M 了,kindle 好像对电子书的大小有一定限制。
我试着在 Mac 上用 PicConvert 将图片缩小到 70% 质量,然后再制作电子书,发现能否将最终的电子书大小缩小很多。
能否提供缩小图片的功能,以参数的形式,让用户能够选择是否将最终生成的电子书缩小一些。
对 Python 不太熟,我就不提 PR 了😂️。
您好,感谢作者的开源分享。
我是从CSDN追过来的:https://download.csdn.net/download/jan10321/10628711
您所制作的kindle的阅读体验非常好
我看了一下其他直接使用打印另存为pdf的资料,里面的评论我觉得也很有参考价值
不知道您能不能抓取高赞的前5条数据也放在您所制作的kindle里面?
报这个错误:
unable to prepare context: unable to 'git clone' to temporary context directory: error initializing submodules: usage: git submodule [--quiet] add [-b ] [-f|--force] [--name ] [--reference ] [--] []
or: git submodule [--quiet] status [--cached] [--recursive] [--] [...]
or: git submodule [--quiet] init [--] [...]
or: git submodule [--quiet] deinit [-f|--force] [--] ...
or: git submodule [--quiet] update [--init] [--remote] [-N|--no-fetch] [-f|--force] [--rebase] [--reference ] [--merge] [--recursive] [--] [...]
or: git submodule [--quiet] summary [--cached|--files] [--summary-limit ] [commit] [--] [...]
or: git submodule [--quiet] foreach [--recursive]
or: git submodule [--quiet] sync [--recursive] [--] [...]
: exit status 1
是我的环境问题吗?怎么解决啊
看到readme里的截图不知楼主是用什么软件打开的,没找到太合适的阅读器。
/usr/local/bin # geektime mp4 175 --hd-only --output-folder=/output
开始下载视频:175-Web协议详解与抓包实战
数据爬取中:Web协议详解与抓包: 0%| | 0/121 [00:00<?, ?it/s]数据爬取中:Web协议详解与抓包: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 121/121 [00:00<00:00, 1412.87it/s]
ERROR: 'str' object has no attribute 'get'
视频下载中:02-内容综述: 0%| | 0/42 [00:00<?, ?it/s]
视频下载中:01-课程介绍: 0%| | 0/36 [00:00<?, ?it/s]
视频下载中:03-浏览器发起HT: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 46/46 [00:21<00:00, 2.10it/s]视频下载中:01-课程介绍: 61%|██████████████████████████████████████████████████████████████████████████████████████▏ | 22/36 [00:20<00:12, 1.15it/s]
视频下载中:02-内容综述: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 42/42 [00:22<00:00, 1.89it/s]视频下载中:01-课程介绍: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 36/36 [00:37<00:00, 1.03s/it]
视频下载中:04-基于ABNF语: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 90/90 [00:43<00:00, 2.06it/s]视频下载中:05-网络为什么要分: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 64/64 [00:33<00:00, 1.89it/s]
/usr/local/bin #
geektime.log的日志
log_time=2019-07-27 09:47:40,106 levelname=ERROR process=54787 exception=Traceback (most recent call last):
File "/Users/user/anaconda3/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 63, in main
o.work(args)
File "/Users/user/anaconda3/lib/python3.7/site-packages/geektime_dl/cli/command.py", line 26, in work
return self.run(args)
File "/Users/user/anaconda3/lib/python3.7/site-packages/geektime_dl/cli/mp4.py", line 60, in run
data = dc.get_course_content(course_id)
File "/Users/user/anaconda3/lib/python3.7/site-packages/geektime_dl/data_client/__init__.py", line 59, in get_course_content
post_detail = self.get_post_content(post['id'], force=force)
File "/Users/user/anaconda3/lib/python3.7/site-packages/geektime_dl/data_client/__init__.py", line 36, in get_post_content
data = self._gk.get_post_content(post_id)
File "/Users/user/anaconda3/lib/python3.7/site-packages/geektime_dl/utils/__init__.py", line 36, in wrapper
result = func(*args, **kwargs)
File "/Users/user/anaconda3/lib/python3.7/site-packages/geektime_dl/data_client/gk_apis.py", line 126, in get_post_content
raise Exception('course query fail:' + resp.json()['error']['msg'])
File "/Users/user/anaconda3/lib/python3.7/site-packages/requests/models.py", line 896, in json
return complexjson.loads(self.text, **kwargs)
File "/Users/user/anaconda3/lib/python3.7/json/__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "/Users/user/anaconda3/lib/python3.7/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/Users/user/anaconda3/lib/python3.7/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
location=/Users/user/anaconda3/lib/python3.7/site-packages/geektime_dl/cli/command.py:74
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
可否将html保存为mhtml
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
系统版本:CentOS Linux release 7.5.1804 (Core)
python版本3.7.1
Describe the solution you'd like
A clear and concise description of what you want to happen.
直接运行geektime login或是加上--account和--password参数,都会提示maximum recursion depth exceeded
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
/root/venv3/lib/python3.7/site-packages/geektime_dl/utils/m3u8_downloader.py:5: MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors, including RecursionError on Python 3.6. It may also silently lead to incorrect behaviour on Python 3.7. Please monkey-patch earlier. See gevent/gevent#1016. Modules that had direct imports (NOT patched): ['urllib3.util (/root/venv3/lib/python3.7/site-packages/urllib3/util/init.py)', 'urllib3.util.ssl_ (/root/venv3/lib/python3.7/site-packages/urllib3/util/ssl_.py)'].
monkey.patch_all()
maximum recursion depth exceeded
报错信息如下:
Traceback (most recent call last):
File "/usr/local/bin/geektime", line 11, in
sys.exit(geektime())
File "/usr/local/lib/python2.7/site-packages/geektime_dl/init.py", line 5, in main
from geektime_dl import cli
File "/usr/local/lib/python2.7/site-packages/geektime_dl/cli/init.py", line 4, in
from . import login, query, mp4, mp3, ebook
File "/usr/local/lib/python2.7/site-packages/geektime_dl/cli/login.py", line 3, in
from geektime_dl.data_client.gk_apis import *
File "/usr/local/lib/python2.7/site-packages/geektime_dl/data_client/init.py", line 10
class DataClient(metaclass=Singleton):
十分感谢,这么棒的功能。
但有一个问题:windows 10使用docker for desktop跑的docker命令,提出成功,但找不到输出目录。
geektime ebook all 这样的命令,如果下载到一半出现错误,重新执行又要重新下载(不支持断点传输),下载到那个出错的地方又停止(无法忽略错误),这样不就一直恶性循环了吗?
另外对于现在很多的html结构还是存在解析的问题,是否考虑弄一个通用的结构解析引擎?
还有对于标题名字遇到&¥%之类的特殊符号可以识别吗?(比如深入拆解Tomcat & Jetty)
docker不支持+1的电话号码账号登陆,显示login fail: 非法电话
升级 macOS Catalina 10.15 后发现,kindlegen 无法运行。
macOS Catalina 10.15 不再支持 32 位应用,而亚马逊并没有升级 kindlegen。
亚马逊更新了 kindle-previewer,支持 macOS Catalina 10.15,而 kindle-previewer 的包里带有 kindlegen。
brew cask uninstall kindlegen
brew cask install kindle-previewer
ln -s /Applications/Kindle\ Previewer\ 3.app/Contents/MacOS/lib/fc/bin/kindlegen /usr/local/bin/kindlegen
搞定,在终端运行 kindlegen
试下吧。
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Get an error when install geektime_dl in windows, with python 3.7.3 & python 3.5.4.
Try to upgrade setuptools to resolve it, but failed.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
作者你好,我想请问一下我这边生成出来的MOBI图片变成感叹号看不了,图片的代码貌似是这样的。
<img src="../images/00001.jpeg" alt calibre_f3fa75ca98eb4413a4ee413f20f60226="0" style="-webkit-column-break-inside: avoid;">
貌似生成时会出现这种警告:
Warning(prcgen):W14010: media file not found /output/ebook/108336b5-8d70-4180-85d7-7db31b450584/9101bd5e-aba7-4931-bc84-8e9b767c9118.jpg
看了一下目录,只有“/output/ebook/专栏名”这个目录
Windows docker 环境, 执行命令为:docker run -v /d/Study/geektime:/output -i -t --rm geektime ebook 110 --enable-comments
geektime ebook 49 --out-dir=/Users/yee/Downloads
出错
log_time=2018-11-22 09:09:37,730 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.OperationalError: table columns already exists
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:37,735 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.OperationalError: table posts already exists
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:37,834 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: columns.column_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:38,043 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:38,177 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:38,283 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:38,408 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:38,528 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:38,644 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:38,772 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:38,904 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:39,028 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:39,093 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:39,215 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:39,353 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:39,487 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:39,552 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:39,676 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:39,816 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:39,948 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:40,213 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:40,345 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:40,407 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:40,470 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:40,596 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:40,659 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:40,725 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:40,797 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:40,927 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:41,046 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:41,113 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:41,245 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:41,654 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:41,785 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:41,851 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:41,950 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:42,082 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:42,207 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:42,286 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:42,352 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:42,419 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
log_time=2018-11-22 09:09:42,541 levelname=WARNING process=1 exception=Traceback (most recent call last):
File "/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py", line 62, in execute
cur.execute(*args, **kwargs)
sqlite3.IntegrityError: UNIQUE constraint failed: posts.article_id
location=/usr/local/lib/python3.5/site-packages/geektime_dl/store_client.py:64
不使用 --out-dir
参数正常。
检查了一下gk_apis.py的代码,感觉上没什么问题啊。
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
geektime ebook -c 只能抓取一个封面,下一步怎么做
想咨询下,这个项目是不是存在一些法律风险啊?
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.