---
# System prepended metadata

title: python套件使用
tags: [python]

---

# python套件使用
###### tags: `python`
## aiohttp

一個網路框架，比較常用應該是client的異步爬蟲（專案的血淚ＱＱ）
也可以簡單的架出一個網頁（可能跟Flask有點像）
使用方法如下

```python=
async with aiohttp.ClientSession() as session:
    async with session.get(url, ....) as resp:
        await resp.text()
    ....
```
除了第一行以外大概就跟requests很像
只是要抓內部資料記得都要await
[API文件參考](https://docs.aiohttp.org/en/stable/)

## pandas

這裡東西太多，簡單記錄一下
常用就是

```python=
import pandas as pd
    
df = pd.Dataframe(data, columns, index)

# 合併兩個DataFrame可以這樣

df.concat(df1, df2, axis=1)

# 替換掉NaN的值

df.fillna(0) # 全部換成0
```
可[參考](https://medium.com/@zector1030/pandas-fillna-%E7%AF%84%E4%BE%8B-5d33819fb7b8
)

## APscheduler
可以用cron跟一般定時的方法設定

另外有很多種定時器支援
常用的是

```
BlockScheduler
BackgroundScheduler
```
### 使用方法

```python=
scheduler = BlockScheduler()
scheduler.add_job(
    func,
    args=[arg1, arg2,...],
    trigger='cron' # (指定時間為'interval')
    next_run_time=datetime.now()
)
scheduler.start()

# 只是不確定有沒有做gc，所以最好還是把class init放在外面
```
