txperl / pixivbiu Goto Github PK
View Code? Open in Web Editor NEWPixiv 辅助工具
Home Page: https://biu.tls.moe/
License: MIT License
Pixiv 辅助工具
Home Page: https://biu.tls.moe/
License: MIT License
config.yml
中举的例子是 http 代理,我一般用 socks5 代理,可是启动之后加载不了图片。是只支持 http 代理吗?发现代理失效之后我填了 "no",但是重启依然没有图。lsof
还是 netstat
都看不到 4001 被占用,在配置文件中修改端口之后再启动,依然提示端口被占用。按照提示的说明操作,但是还是无法登陆。
不知是因为我复制错误,还是因为我用的代理梯子,还是其他地方......
用标题命名不方便的地方太多了..
[PixivBiu] 已启用系统代理地址: 127.0.0.1:10809
[PixivBiu] 检测网络状态...
[PixivBiu] 无法访问 Pixiv,启用 byPassSni API
[PixivBiu] 由于 Pixiv 禁止了账号密码登陆方式,暂时只能使用 Token 进行登录
是否开始手动获取 Token 后继续使用? (y / n): y
[Login Helper] 即将开始进行网络检测,此过程可以减少因网络问题导致的无法正常使用 PixivBiu 的概率
[Login Helper] 开始进行网络检测...
检测到内容为 127.0.0.1:10809 的代理监听地址,是否需要更改? (y / n): n
[Network Checker] https://public-api.secure.pixiv.net ❌
[Network Checker] https://1.0.0.1/dns-query ❌
[Network Checker] https://1.1.1.1/dns-query ❌
[Network Checker] https://[2606:4700:4700::1001]/dns-query ❌
[Network Checker] https://[2606:4700:4700::1111]/dns-query ❌
[Network Checker] https://cloudflare-dns.com/dns-query ❌
[PixivBiu] 您的网络无法正常进行 Pixiv Token 登陆,请调整后重试。
按任意键退出...
请问是哪里配置有问题吗?不是很懂
[PixivBiu] 检测网络状态...
[PixivBiu] 由于 Pixiv 禁止了目前使用的 Login API 账号密码登陆方式,暂时只能使用 Token 进行登录
是否开始手动获取 Token 后使用? (y / n): y
[Login] 请按以下步骤进行操作:
作者,你好,通过指引,已成功搭建并运行,但是我是建在了境外服务器上,并且防火墙均已开通4001端口,访问境外服务器ip:4001显示ERROR 503,无法访问,请问我还需要做哪些操作处理?
一页的搜索结果图片太多会导致单个网页非常卡,能否改为分页显示?
您好,我在使用Release2.0.1_win版本的过程中,发现手动获取token登录过程中出现错误:
1、在第一次获得code并输入后程序重新进入手动获取token的开始
2、在第二次获得code并输入后程序报错,log如下:
Error:
requests POST https://oauth.secure.pixiv.net/auth/token error: Detected a Cloudflare version 2 Captcha challenge, This feature is not available in the opensource (free) version.
End;
Error:
request error
End;
请问这样的问题是出于怎样的原因,怎样的措施可以避免这一情景的再度发生,谢谢
Hi do you have English install instructions?
hello,
When I start the program for the first time and it asks me for the Pixiv token and I do all the steps to get it and copy it, it shows me this every time.
" [PixivBiu] Code error. Please note that the program requires a different code each time it starts, and cannot reuse the previous one, and the Code doesn't contain quotation marks.
[PixivBiu] There was an error getting the Token, please try again. "
but I never used the token before
Hey. Ya think you can make an online version of PixivBiu similar to Furarchiver?: https://furarchiver.net/
The main reason why I'm asking this is because there's literally no Archiver Site that downloads entire galleries from Pixiv. Perhaps you could do some actual justice by creating an online version of PixivBiu similar to Furarchiver?
无意中发现这个软件,看介绍感觉不错,但是在使用中遇到一些问题。
一个是用了两种方法架了梯子,在浏览器中都是可以正常访问pixiv的。
但是打开软件却显示网络不行,无法访问pixiv
还有按照软件提示选择手动获取token,监听地址留空,获取到如下token
xxDk_wp_uB*x0
中间部分用代替。
输入后显示
Error:
[ERROR] auth() failed! check username and password.
HTTP 400: {"has_error":true,"errors":{"system":{"message":"Invalid grant_type parameter or parameter missing","code":1508}},"error":"invalid_grant"}
End;
Error:
HTTPSConnectionPool(host='oauth.secure.pixiv.net', port=443): Max retries exceeded with url: /auth/token (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1091)')))
End;
[PixivBiu] Pixiv 登陆失败
请问是我获取的token不对吗?
还是其他哪个步骤有问题?
谢谢
我软路由上已经有代理了,浏览器也可以直接访问pixiv官网,但是使用PixivBiu一直无法使用,请问是什么原因?
[PixivBiu] 检测更新失败,可能是目标服务器过长时间未响应
[PixivBiu] 检测网络状态...
[PixivBiu] 无法访问 Pixiv,启用 byPassSni API
[PixivBiu] 由于 Pixiv 禁止了账号密码登陆方式,暂时只能使用 Token 进行登录
是否开始手动获取 Token 后继续使用? (y / n): y
[Login Helper] 即将开始进行网络检测,此过程可以减少因网络问题导致的无法正常使用 PixivBiu 的概率
[Login Helper] 开始进行网络检测...
检测到内容为 127.0.0.1:1082 的代理监听地址,是否需要更改? (y / n): y
请输入代理监听地址(可留空):
[Network Checker] https://public-api.secure.pixiv.net ❌
[Network Checker] https://1.0.0.1/dns-query ✔️
[Network Checker] https://1.1.1.1/dns-query ✔️
[Network Checker] https://[2606:4700:4700::1001]/dns-query ❌
[Network Checker] https://[2606:4700:4700::1111]/dns-query ❌
[Network Checker] https://cloudflare-dns.com/dns-query ✔️
[Login] 请按以下步骤进行操作:
注意: 程序每次启动时要求获取的 Code 都不同,不可复用之前获取到的,且 Code 不带有引号
1. 访问「https://app-api.pixiv.net/web/v1/login?code_challenge=0FOMIlDnmWof4OBd7gMeaztcOturSsskAdZooCA9Bh8&code_challenge_method=S256&client=pixiv-android」
(若您别无他法,还是不能访问以上网址,那可参考此方式 https://github.com/mashirozx/Pixiv-Nginx 先进行配置)
2. 打开浏览器的「Dev Console / 开发者工具 / F12」,切换至「Network / 网络」标签
3. 开启「Preserve log / 持续记录」
4. 在「Filter / 筛选」文本框中输入「callback?」
5. 登录您的 Pixiv 账号
6. 成功登录后,会出现一个类似「https://app-api.pixiv.net/.../callback?state=...&code=...」的字段
7. 将「code」后面的参数输入本程序
Code: YNb2Ts2HAwrWU27EFeKtiHfOXsPyvMEso5-8STI4ulA
!Error at 2021-09-28 21:01:34:
Traceback (most recent call last):
File "urllib3\connectionpool.py", line 706, in urlopen
File "urllib3\connectionpool.py", line 382, in _make_request
File "urllib3\connectionpool.py", line 1010, in _validate_conn
File "urllib3\connection.py", line 421, in connect
File "urllib3\util\ssl_.py", line 453, in ssl_wrap_socket
File "urllib3\util\ssl_.py", line 495, in _ssl_wrap_socket_impl
File "ssl.py", line 423, in wrap_socket
File "ssl.py", line 870, in _create
File "ssl.py", line 1139, in do_handshake
OSError: [Errno 0] Error
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "requests\adapters.py", line 449, in send
File "urllib3\connectionpool.py", line 756, in urlopen
File "urllib3\util\retry.py", line 532, in increment
File "urllib3\packages\six.py", line 769, in reraise
File "urllib3\connectionpool.py", line 706, in urlopen
File "urllib3\connectionpool.py", line 382, in _make_request
File "urllib3\connectionpool.py", line 1010, in _validate_conn
File "urllib3\connection.py", line 421, in connect
File "urllib3\util\ssl_.py", line 453, in ssl_wrap_socket
File "urllib3\util\ssl_.py", line 495, in _ssl_wrap_socket_impl
File "ssl.py", line 423, in wrap_socket
File "ssl.py", line 870, in _create
File "ssl.py", line 1139, in do_handshake
urllib3.exceptions.ProtocolError: ('Connection aborted.', OSError(0, 'Error'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "pixivpy3\api.py", line 61, in requests_call
File "requests\sessions.py", line 590, in post
File "requests\sessions.py", line 542, in request
File "requests\sessions.py", line 655, in send
File "requests_toolbelt\adapters\host_header_ssl.py", line 43, in send
File "requests\adapters.py", line 498, in send
requests.exceptions.ConnectionError: ('Connection aborted.', OSError(0, 'Error'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\YANGHU~1\AppData\Local\Temp\_MEI292282/app/lib/core/biu.py", line 154, in __login
self.__loginAppAPI(**args)
File "C:\Users\YANGHU~1\AppData\Local\Temp\_MEI292282/app/lib/core/biu.py", line 255, in __loginAppAPI
self.api.login(username, password)
File "pixivpy3\api.py", line 75, in login
File "pixivpy3\api.py", line 114, in auth
File "pixivpy3\api.py", line 66, in requests_call
pixivpy3.utils.PixivError: requests POST https://210.140.131.220/auth/token error: ('Connection aborted.', OSError(0, 'Error'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "urllib3\connectionpool.py", line 382, in _make_request
File "urllib3\connectionpool.py", line 1010, in _validate_conn
File "urllib3\connection.py", line 421, in connect
File "urllib3\util\ssl_.py", line 453, in ssl_wrap_socket
File "urllib3\util\ssl_.py", line 495, in _ssl_wrap_socket_impl
File "ssl.py", line 423, in wrap_socket
File "ssl.py", line 870, in _create
File "ssl.py", line 1139, in do_handshake
socket.timeout: _ssl.c:1074: The handshake operation timed out
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "requests\adapters.py", line 449, in send
File "urllib3\connectionpool.py", line 756, in urlopen
File "urllib3\util\retry.py", line 532, in increment
File "urllib3\packages\six.py", line 770, in reraise
File "urllib3\connectionpool.py", line 706, in urlopen
File "urllib3\connectionpool.py", line 385, in _make_request
File "urllib3\connectionpool.py", line 337, in _raise_timeout
urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='210.140.131.220', port=443): Read timed out. (read timeout=10)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\YANGHU~1\AppData\Local\Temp\_MEI292282/app/lib/common/login_helper/main.py", line 77, in login
return self.tokenG.login(host=self.authTokenURL, newCode=True, kw=kw)
File "C:\Users\YANGHU~1\AppData\Local\Temp\_MEI292282\app\lib\common\login_helper\token.py", line 85, in login
**kw,
File "requests\sessions.py", line 590, in post
File "requests\sessions.py", line 542, in request
File "requests\sessions.py", line 655, in send
File "requests\adapters.py", line 529, in send
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='210.140.131.220', port=443): Read timed out. (read timeout=10)
[PixivBiu] 获取 Token 时出错,请重试。
[Altfe] ;)
[PixivBiu] 由于 Pixiv 禁止了账号密码登陆方式,暂时只能使用 Token 进行登录
是否继续? (y / n): y
[Login Helper] 即将开始进行网络检测,此过程可以减少因网络问题导致的无法正常使用 PixivBiu 的概率
[Login Helper] 开始进行网络检测...
未能检测到代理地址,是否需要手动设置? (y / n): y
请输入代理监听地址(可留空):
[Network Checker] https://public-api.secure.pixiv.net [failed]
[Network Checker] https://1.0.0.1/dns-query [failed] (这行偶尔是绿的,但是单单这行绿有时能用有时不能用)
[Network Checker] https://1.1.1.1/dns-query [failed]
[Network Checker] https://doh.dns.sb/dns-query [failed]
[Network Checker] https://cloudflare-dns.com/dns-query [failed]
[PixivBiu] 您的网络无法正常进行 Pixiv Token 登陆,请调整后重试。
按任意键退出...
希望能直接在安卓客户端上运行
大佬,我想问下目前的版本能搜索r18的图片吗?我这边的PixivBiu自动把r18的图片全过滤了,我在localhost那个用户界面里找不到能设置不过滤r18的选项,所以想问下。谢谢了。
感谢作者开发出这样好用的工具,最近一直在用它下图。不过在我的网络环境下(国内走反代、不使用代理、小水管),一次下载大量图片时有时会出现一些问题:
为了获得更好的下载体验,我这边尝试使用 aria2 作为下载中间件,aria2开启rpc模式启动;Python部分修改了app\plugin\biu\do\dl.py
部分的代码,下载时不直接用requests get,而是通过jsonrpc将需要下载的URL、目标文件夹、文件名POST给aria2处理。
这样做的优点和缺点也比较明显:
总之,如果有和我一样遇到下载问题的朋友,可以考虑上面这种使用aria2的方案,目前我个人的体验还是不错的。
如果公开部署,请务必停用 do 类插件,以防滥用
是在app/config/switch.yml中禁用吗
!Error at 2022-06-27 09:10:43:
Traceback (most recent call last):
File "/Users/mc/Project/Python/PixivBiu/altfe/handle.py", line 32, in do
r = cls.osGet("PLUGIN", rCMD)().run(cmd.split(rCMD)[1])
File "/Users/mc/Project/Python/PixivBiu/app/plugin/get/idmarks.py", line 29, in run
"rst": self.gank(args["ops"], args["fun"].copy()),
File "/Users/mc/Project/Python/PixivBiu/app/plugin/get/idmarks.py", line 48, in gank
t = self.CORE.biu.api.user_bookmarks_illust(**argg)
File "/Users/mc/Library/Caches/pypoetry/virtualenvs/pixivbiu-OlCVziVP-py3.9/lib/python3.9/site-packages/pixivpy3/aapi.py", line 132, in user_bookmarks_illust
url = '%s/v1/user/bookmarks/illust' % self.hosts
AttributeError: 'ByPassSniApi' object has no attribute 'hosts'
输入code之后不能登录。
Error: HTTPSConnectionPool(host='210.140.131.199', port=443): Max retries exceeded with url: /auth/token (Caused by SSLError(SSLCertVerificationError("hostname '210.140.131.199' doesn't match either of '*.pixiv.net', 'pixiv.me', 'public-api.secure.pixiv.net', 'oauth.secure.pixiv.net', 'www.pixivision.net', 'fanbox.cc', '*.fanbox.cc', 'pixiv.net'"))) End; [PixivBiu] 免代理请求失败。开始尝试代理方式,请务必确保程序可通过您的设置访问 Pixiv [Login] 获取到值为 http://127.0.0.1:7890/ 的代理监听地址,是否需要修改? (y / n): n Error: [ERROR] auth() failed! check username and password. HTTP 400: {"has_error":true,"errors":{"system":{"message":"Invalid grant_type parameter or parameter missing","code":1508}},"error":"invalid_grant"} End; Error: Request Error. Response: {'has_error': True, 'errors': {'system': {'message': '不正なリクエストです。', 'code': 918}}, 'error': 'invalid_request'} End; [PixivBiu] Pixiv 登陆失败
就长时间在后台挂着
更新到2.1.2a后一直图片下载失败
Error:
[ERROR] auth() failed! check username and password.
HTTP 400: {"has_error":true,"errors":{"system":{"message":"Invalid grant_type parameter or parameter missing","code":1508}},"error":"invalid_grant"}
End;
Error:
Request Error.
Response: {'has_error': True, 'errors': {'system': {'message': '不正なリクエストです。', 'code': 918}}, 'error': 'invalid_request'}
End;
[PixivBiu] Pixiv 登陆失败
你好作者大大,请问可以添加两个筛选功能吗?例如剔除r18内容,以及只保留固定浏览数或收藏数以上的插画qwq
希望能够新增按图像长宽比搜索功能,或仅仅实现p站自身的高级搜索功能。
https://biu.tls.moe/#/usage/basic404了
另外,希望能搞一些指南类似的东西(就比如我这种蠢b还没研究明白如何在tag里按收藏排序
另另外,图片数量貌似是不够的,搜了一下舰b的tag,10万以上收藏的啥也没显示
但是不得不说,这是我见过的独立小项目里面ui最舒服的,加油
我仅使用了源代码中的login()函数,想通过源代码搞懂P站的登陆规则,但是仅使用login()函数一直返回错误信息,如下:
Response: {'has_error': True, 'errors': {'system': {'message': '不正なリクエストです。', 'code': 918}}, 'error': 'invalid_request'}
每次产生的token都是我通过重新登陆进行复制的,电脑后台开了代理,但是没有一次成功的登陆。
我想请问一下在登陆之前还需要运行其他的函数获取什么信息吗?单独运行login函数可以实现登陆的操作吗?还是我的token获取方法有什么错误
下方的这种标签请问改如何使用阿 可否来个搜索格式谢谢了
我使用的搜索格式为 但搜不到结果
@s=風景 -o (title 1000)
Pixiv 收藏数标签
配合收藏数标签一起使用(title 1000)体验更加。
title 100 :搜索收藏数在 100 - 500 的内容
title 500 :500 - 1000
title 1000 :1000 - 5000
title 5000 :5000 - 10000
title 10000 :10000 - ∞
一搜索就会这样,但是可以正常打开排行榜并且下载图片
!Error at 2022-08-27 20:01:34:
Traceback (most recent call last):
File "urllib3\connection.py", line 175, in _new_conn
File "urllib3\util\connection.py", line 96, in create_connection
File "urllib3\util\connection.py", line 86, in create_connection
TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "urllib3\connectionpool.py", line 706, in urlopen
File "urllib3\connectionpool.py", line 382, in _make_request
File "urllib3\connectionpool.py", line 1010, in _validate_conn
File "urllib3\connection.py", line 358, in connect
File "urllib3\connection.py", line 187, in _new_conn
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x0000017BF796C408>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "requests\adapters.py", line 450, in send
File "urllib3\connectionpool.py", line 756, in urlopen
File "urllib3\util\retry.py", line 574, in increment
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='210.140.92.186', port=443): Max retries exceeded with url: /v1/search/illust?word=%E3%83%9C%E3%83%86%E8%85%B9&search_target=exact_match_for_tags&sort=date_desc&filter=for_ios&offset=120 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000017BF796C408>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "pixivpy3\api.py", line 60, in requests_call
File "requests\sessions.py", line 542, in get
File "requests\sessions.py", line 529, in request
File "requests\sessions.py", line 645, in send
File "requests_toolbelt\adapters\host_header_ssl.py", line 43, in send
File "requests\adapters.py", line 519, in send
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='210.140.92.186', port=443): Max retries exceeded with url: /v1/search/illust?word=%E3%83%9C%E3%83%86%E8%85%B9&search_target=exact_match_for_tags&sort=date_desc&filter=for_ios&offset=120 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000017BF796C408>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "altfe\handle.py", line 32, in do
File "C:\Users\zoukai\AppData\Local\Temp_MEI117042/app/plugin/search/works.py", line 45, in run
rst = self.appWorks(args["ops"].copy(), args["fun"].copy())
File "C:\Users\zoukai\AppData\Local\Temp_MEI117042/app/plugin/search/works.py", line 81, in appWorks
r["data"] += x.result()
File "concurrent\futures_base.py", line 428, in result
File "concurrent\futures_base.py", line 384, in __get_result
File "concurrent\futures\thread.py", line 57, in run
File "C:\Users\zoukai\AppData\Local\Temp_MEI117042/app/plugin/search/works.py", line 99, in __thread_appWorks
data = self.CORE.biu.api.search_illust(**kw)
File "pixivpy3\aapi.py", line 294, in search_illust
File "pixivpy3\aapi.py", line 47, in no_auth_requests_call
File "pixivpy3\api.py", line 75, in requests_call
pixivpy3.utils.PixivError: requests GET https://210.140.92.186/v1/search/illust error: HTTPSConnectionPool(host='210.140.92.186', port=443): Max retries exceeded with url: /v1/search/illust?word=%E3%83%9C%E3%83%86%E8%85%B9&search_target=exact_match_for_tags&sort=date_desc&filter=for_ios&offset=120 (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000017BF796C408>: Failed to establish a new connection: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。'))
不太行,所谓的收藏数搜索只是搜索类似”オリジナル500users入り“这样的标签,不包含类似标签的作品无法被搜索到
建议参考https://github.com/upbit/pixivpy,通过api真正意义上获取作品的收藏数,然后进行筛选展示
而排序也只是单页面排序
麻烦问一下,请问我这些改怎么解决
1 打开梯子会检测更新失败
2打开梯子还是提是无法代理
3code后一直提是 不正当请求
还望哥哥能帮忙看看,谢谢了
[PixivBiu] 检测更新失败,可能是目标服务器过长时间未响应
[PixivBiu] 检测网络状态...
[PixivBiu] 由于 Pixiv 禁止了目前使用的 Login API 账号密码登陆方式,暂时只能使用 Token 进行登录
是否开始手动获取 Token 后使用? (y / n): y
Error:
HTTPSConnectionPool(host='cloudflare-dns.com', port=443): Max retries exceeded with url: /dns-query?ct=application%2Fdns-json&name=public-api.secure.pixiv.net&type=A&do=false&cd=false (Caused by ProxyError('Cannot connect to proxy.', OSError(0, 'Error')))
End;
[PixivBiu] 免代理请求失败。开始尝试代理方式,请务必确保程序可通过您的设置访问 Pixiv
[Login] 获取到值为 http://127.0.0.1:7890 的代理监听地址,是否需要修改? (y / n): n
[Login] 请按以下步骤进行操作:
现在在写一个bot,打算定时搜索一个tag
,返回一段时间内的数据,然后看了一眼发现没有时间排序XD
能不能麻烦大佬,写一个进去呢
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.