Metadata-Version: 2.1
Name: baike
Version: 1.0.0
Summary: BaiduBaike search bot
Home-page: https://github.com/1MLightyears/baike
Author: Lightyears
Author-email: 1MLightyears@gmail.com
License: Apache 2.0
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: lxml

[toc]

# 百度百科bot

### 简介

搜索百度百科并返回匹配条目的简介。

------

### 安装

```python
#pip install baike
```



------

### 简单上手

想要直接在百度百科搜索一个词条，可以从以下的方法中二选一：

1.

```python
from baike import Baike
ret=Baike('你要搜的内容').query()
#返回结果保存在ret里
```

2.

```python
from baike import getBaike
ret=getBaike('你要搜的内容')
#同上
#也可以直接print(getBaike('你要搜的内容'))直接显示
```
------

### 更多功能

1. 通过指定变量`no`为`0`，你可以显示多义词的义项列表：

   ```python
   >>>print(getBaike('Python',no=0))
     Python
   1:计算机程序设计语言
   2:英文单词
   ```
   该变量默认为`1`，此时默认显示第一个搜索命中结果的内容简介。
   如果该词条不是一个多义词，返回`1.(这是一个单义词)`。

2. 指定变量`no`为非0整数，你可以显示第`no`个义项的内容简介：

   ```Python
   >>>print(getBaike('Python',no=2))
   Python（英文单词）
   python发音：英 [ˈpaɪθən] 美 [ˈpaɪθɑ:n]中文释义：巨蛇，大蟒复数形式：pythons
   ```
   如果`no`>义项数，则会显示最后一个义项。
   如果`no`是负数，则会从后往前计数。类似的，如果`no`<(-义项数)，则会显示第一个义项。

3. 指定变量`timeout`为正整数，你可以设定搜索的超时时间，单位为秒。当搜索超时时，标准错误输出`stderr`会显示一条错误信息`超时错误:`，紧接着是引发超时错误的网页链接。

   你可以重定向标准错误输出至文件来实现日志功能。

   请注意由于baike会对关键字先搜索(这是一次网络访问)再访问搜索结果(这是第二次网络访问)，因此对于单次搜索，最大可能不超时的搜索时长可能是`timeout`的两倍。

4. 如果搜索没有结果，标准错误输出`stderr`会显示一条错误信息`没有匹配的搜索结果:`，紧接着是没有搜索结果的关键字。类似的，你可以重定向标准错误输出至文件来实现日志功能。

------

### 依赖

需要requests和lxml。若安装失败可以手动执行：

```python
pip install requests lxml
```

Python 3.6.9 3.7.1 正常运行。


