BaiduBaike search bot
Project description
[TOC]
baike
简介
baike
是一个百度百科search bot。
在百度百科上搜索词条并返回匹配条目的简介,图片等。
安装
#pip install baike
简单上手
想要直接在百度百科搜索一个词条,可以从以下的方法中二选一:
>>>from baike import Baike
>>>ret=Baike('你要搜的内容').query()
#返回结果保存在ret里
>>>from baike import getBaike
>>>ret=getBaike('你要搜的内容')
#同上
#也可以直接print(getBaike('你要搜的内容'))来显示
更多功能
-
通过指定变量
no
为0
,你可以显示多义词的义项列表:>>>print(getBaike('Python',no=0)) Python 1:计算机程序设计语言 2:英文单词
这个值默认为
1
,此时默认显示第一个搜索命中结果的内容简介。 -
指定变量
no
为非0整数,你可以显示第no
个义项的内容简介:>>>print(getBaike('Python',no=2)) Python(英文单词) python发音:英 [ˈpaɪθən] 美 [ˈpaɪθɑ:n]中文释义:巨蛇,大蟒复数形式:pythons
如果
no
>义项数,则会显示最后一个义项。 如果no
是负数,则会从后往前计数。类似的,如果no
<(-义项数),则会显示第一个义项。 -
在内部实现中,
no
实际上是一个由两个元素组成的列表。第一个元素为一个整数,即上文中的“义项序号”;第二个元素为一个整数列表或空列表,指出需要显示的义项中的“段落序号”。如:>>>print(getBaike('Python',no=[1,[1]])) Python(计算机程序设计语言) 1.Python简介及应用领域 Python是一种解释型脚本语言,可以应用于以下领域:
“段落序号”可以指定多个,将按顺序显示:
>>>print(getBaike('Python',no=[1,[0,1,2]])) Python(计算机程序设计语言) Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断 更新和语言新功能的添加,越多被用于独立的、大型项目的开发。 1.Python简介及应用领域 Python是一种解释型脚本语言,可以应用于以下领域: 2.下载Python 在您开始之前,在你的计算机将需要Python,但您可能不需要下载它。首先检查(在同级目录下在命令行窗口输入python)有没有安装Python。如果你看到了一个Python解释器的响 应,那么就能在它的显示窗口中得到一个版本号。通常的版本都可以做到Python的向前兼容。 如果您需要安装, 您不妨下载最近稳定的版本。 就是那个以没有被标记作为alpha或Beta发行的最高的版本。目前最稳定的版本是Python3.0以上 如果你使用的操作系统是Windows:当前最稳定的Windows版本下载是"Python 3.8.3 for Windows" 如果你使用的是Mac,MacOS 10.2 (Jaguar), 10.3 (Panther) and 10.4 (Tiger)已经集成安装了Python,但是你大概需要安装最近通用的构架(build)。 对于Red Hat,安装python2和python2-devel包。 对于Debian,安装python2.5和python2.5-dev包。
请注意,
baike
不会对“段落序号”做任何检查,这意味着诸如getBaike("Python",no=[1,[0,0,0,3,2,1]])
等等重复值和逆序值是完全合法的。0号段落即为该义项的简介段落,
[0]
也是“段落序号”的默认值:>>>print(getBaike('Python',no=[1,[0]])) Python(计算机程序设计语言) Python是一种跨平台的计算机程序设计语言。 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。最初被设计用于编写自动化脚本(shell),随着版本的不断 更新和语言新功能的添加,越多被用于独立的、大型项目的开发。
如果“段落序号”为空列表
[]
,那么将显示段落目录:>>>print(getBaike('Python',no=[1,[]])) Python(计算机程序设计语言) 【目录】 0简介 1Python简介及应用领域 2下载Python 3发展历程 4风格 5与MATLAB的对比 6设计定位 7执行 8基本语法 9帮助 10CGI 11特点 12应用 13工具功能 14标准库 15开发环境 16解释器 17著名应用 18库导入 19学习网站
在“段落序号”内部,一样可以使用负数来索引段落。
当“义项序号”为
0
时,“段落序号”将被忽略,但是仍然需要输入合法的值以避免报错。 -
指定变量
timeout
为正整数,你可以设定搜索的超时时间,单位为秒:>>>ret=getBaike('Python',timeout=1)
当搜索超时时,标准错误输出
stderr
会显示一条错误信息超时错误:
,紧接着是引发超时错误的网页链接。你可以重定向标准错误输出至文件来实现日志功能。该变量默认为
5
。请注意,每次搜索对应2~3个网页请求,而
timeout
值是对单个请求的时长所设的限制,因此一次搜索的总时长最长的花费可能会是timeout
的2~3倍。 -
如果搜索没有结果,标准错误输出
stderr
会显示一条错误信息没有匹配的搜索结果:
,紧接着是没有搜索结果的关键字。类似的,你可以重定向标准错误输出至文件来实现日志功能。 -
指定变量
pic
为True
,你可以自动下载这个词条的概要图:>>>ret=getBaike('Python',pic=True)
如果该词条有概要图,那么就会下载到当前目录下,文件名格式为"<搜索关键词>_<义项序号>_<12位时间戳>.<图片格式>"。默认图片格式是jpg。
该变量默认为
False
。 -
当变量的值有误时,标准错误输出
stderr
会显示一条错误信息参数不正确:
,紧接着是有误的参数名。要想更正,可以通过setting()
方法设置正确的参数值,如果设置正确那么setting()
将返回0
,错误则是非0
值。每个
Baike
搜索对象的设置都是独立的。如果希望将搜索设置设为默认值(如no
参数等),可以使用reset()
方法。如果使用
getBaike()
进行搜索,因为每次搜索都是独立的,因此每次搜索都会将从默认值开始。
已知问题
- 无法显示部分表格/列表
依赖
需要requests
和lxml
。若安装失败可以手动执行:
#pip install requests lxml
在Python 3.6.9, 3.7.1, 3.9.0 上正常运行。
在Windows10 1909 20H4, Ubuntu 18.04 LTS上正常运行。
在Termux上安装lxml
可能存在问题,请尝试先安装Cython
或先安装对应发行版的库文件。
baike
仍处于pre-Alpha阶段,建议随时使用最新版以减少bug。
声明
baike
只有收录/分类/组织的功能,对显示的信息不负任何法律责任,也不享有著作权,若信息源的信息发生变更,baike没有能力随时更新内容,因此使用者须自行对提供的信息的真实性、进行判断。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file baike-1.5.0.tar.gz
.
File metadata
- Download URL: baike-1.5.0.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7e06ad42cf5de082c6525af8ccf46d4df8d889fb30689ce6bc3d58f19d4d9b0 |
|
MD5 | 3ccd7cbb4f3af93cf87674d07fe0adc9 |
|
BLAKE2b-256 | 0560b42be99178efe037f73616c47f368c700da39a37834139ef0b385e54d1d5 |
File details
Details for the file baike-1.5.0-py3-none-any.whl
.
File metadata
- Download URL: baike-1.5.0-py3-none-any.whl
- Upload date:
- Size: 13.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.9.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f5c2e1f645667142b592de84c1bca9395c3b9681cadf2444a4b46fbc269e18ed |
|
MD5 | ec5611502739fe31d80368d7ca034b64 |
|
BLAKE2b-256 | e445d43a0e5dbbe3098225688c5e67cfb464c56908393d92524f6454ab7ea670 |