Giter Site home page Giter Site logo

geektime_dl's People

Contributors

hiberabyss avatar imsingee avatar jachinlin avatar panxl6 avatar shaofuzhang avatar skhe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

geektime_dl's Issues

Got an error when try to install it

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.


image

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.

docker登陆成功显示尚未登陆

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.

极客时间 115编号的课程无法下载

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.

生成出来的mobi图片变成感叹号

作者你好,我想请问一下我这边生成出来的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

在下载82课程mobi电子书时会出错

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.

有考虑把得到的课程也做成电子书吗?

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.

the JSON object must be str, bytes or bytearray, not NoneType

用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 [...]
系统版本: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

能否提供缩小图片的功能,这样能够减少最终生成的电子书的大小

试着做了几个电子书,发现很多都超过 50M 了,kindle 好像对电子书的大小有一定限制。

我试着在 Mac 上用 PicConvert 将图片缩小到 70% 质量,然后再制作电子书,发现能否将最终的电子书大小缩小很多。

能否提供缩小图片的功能,以参数的形式,让用户能够选择是否将最终生成的电子书缩小一些。

对 Python 不太熟,我就不提 PR 了😂️。

使用 Docker 下载课程失败

日志如下:

───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ 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   │
───────┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

50M size ..

A great number of books have oversized 50M and can not be pushed to kindle..

三个问题

  1. 课程进度检测错误, 比如 https://time.geekbang.org/column/49 已经完结,但是被判断成未完待续
Info(prcgen):I1047: Added metadata dc:Title        "朱赟的技术管理课[未完待续]"
  1. 有编码转换错误,日志
Error(core):E1008: Failed conversion to unicode. The resulting string may contain wrong characters.
  1. 生成的mobi目录在书尾

geektime ebook 时报错

请问我在执行时出现了错误,以下内容来自 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

生成mobi失败

docker run -v pwd:/output -it --rm geektime ebookbatch --all --enable-comments可以把html和图片下载下来,但是 @生成mobi失败,提示“Expecting value: line 1 column 1 (char 0)”
image

登录和下载出错

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',))

kindlegen 无法在 macOS Catalina 10.15 运行

问题描述

升级 macOS Catalina 10.15 后发现,kindlegen 无法运行。

原因解释

macOS Catalina 10.15 不再支持 32 位应用,而亚马逊并没有升级 kindlegen。

解决办法

亚马逊更新了 kindle-previewer,支持 macOS Catalina 10.15,而 kindle-previewer 的包里带有 kindlegen。

  1. 卸载 kindlegen,如果是使用 brew 安装的话,使用以下命令:
brew cask uninstall kindlegen
  1. 安装 kindle-previewer,使用 brew 安装命令如下:
brew cask install kindle-previewer
  1. 为 kindle-previewer 包内的 kindlegen 添加软链接:
ln -s /Applications/Kindle\ Previewer\ 3.app/Contents/MacOS/lib/fc/bin/kindlegen /usr/local/bin/kindlegen

搞定,在终端运行 kindlegen 试下吧。

可以手动指定一个包含html文件的目录,打包成mobi文件吗?

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.

python安装无法登录

环境信息:

python 相关信息

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'))

kindlegen 报错

已经参考 #52 #57 的解决办法,但是仍然有些课程会报错。

系统:macos 10.15.3

报错信息如下:

WechatIMG39

geektime login报错

报错信息如下:

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):

登录出现SSLError("bad handshake错误

环境描述

  • centos7
  • python3.5
  • login之前的操作均正常完成

问题描述
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

下载175视频时,只下载了几个文件 就结束了

/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 ebook all 这样的命令,如果下载到一半出现错误,重新执行又要重新下载(不支持断点传输),下载到那个出错的地方又停止(无法忽略错误),这样不就一直恶性循环了吗?

另外对于现在很多的html结构还是存在解析的问题,是否考虑弄一个通用的结构解析引擎?

还有对于标题名字遇到&¥%之类的特殊符号可以识别吗?(比如深入拆解Tomcat & Jetty)

无法登陆

使用命令行登陆以后,无法显示已订阅的栏目。订阅都是否

libpng warning: Data error in compressed datastream in zTXt chunk

下载这期时大量报错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

微信截图_20190902191432

需要提供什么信息?

support export PDF file

🔥 如果支持pdf导出就好了,不用kindle也可以看,还可以打印成字纸,大佬可否支持一下呢~

Docker build构建失败

报这个错误:
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

是我的环境问题吗?怎么解决啊

下载课程264时,提示“ERROR: [Errno 2] No such file or directory: '/mnt/hgfs/D/geektime/ebook/性能测试实战30讲/09丨\x08关联和断言:一动一静,核心都是在取数据.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.

Additional context
Add any other context or screenshots about the feature request here.

geektime ebook --out-dir 设置路径生成失败

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 参数正常。

求教指令

用的docker版本,在docker run -v pwd:/output -it --rm geektime ebookbatch --all --enable-comments指令中pwd是指的需要输入密码???还有,执行后发现并没有得到所有的课程,而且请问下载后的html在哪里放着??

有时候登陆需要图形验证码怎么破?

(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:非法图形验证码

consult something

想咨询下,这个项目是不是存在一些法律风险啊?

下载课程156的视频报错:Expecting value: line 1 column 1 (char 0)

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.