Metadata-Version: 2.1
Name: baike
Version: 1.2.1
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
Classifier: Natural Language :: Chinese (Simplified)
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: lxml

[TOC]

# 百度百科bot

### 简介

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

------

### 安装

```shell
#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`，此时默认显示第一个搜索命中结果的内容简介。

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

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

3. 指定变量`timeout`为正整数，你可以设定搜索的超时时间，单位为秒：

   ```Python
   >>>print(getBaike('Python',timeout=1))
   ```
   当搜索超时时，标准错误输出`stderr`会显示一条错误信息`超时错误:`，紧接着是引发超时错误的网页链接。

   你可以重定向标准错误输出至文件来实现日志功能。该变量默认为`5`。

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

5. 指定变量`pic`为`True`，你可以自动下载这个词条的概要图：

   ```Python
   >>>print(getBaike('Python',pic=True))
   ```

   如果该词条有概要图，那么就会下载到当前目录下，文件名格式为"(词条名)_(义项序号).(图片格式)"。

   该变量默认为`False`。

6. 当变量的值有误时，标准错误输出`stderr`会显示一条错误信息`参数不正确:`，紧接着是有误的参数名。要想更正，可以通过`setting()`方法设置正确的参数值，如果设置正确那么`setting()`将返回`0`，错误则是非0值。如果使用`getBaike()`进行搜索，每次搜索前都会将之前的设置重置为默认值。

------

### 依赖

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

```python
pip install requests lxml
```

Python 3.6.9 3.7.1 正常运行。在Termux上安装lxml可能存在问题。


