那些有趣/有用的 Python 庫
圖片處理
pip install pillow
from PIL import Image
import numpy as np
a = np.array(Image.open('test.jpg'))
b = [255,255,255] - a
im = Image.fromarray(b.astype('uint8'))
im.save('new.jpg')
pip install youtube-dl #直接安裝youtube-dl
pip install -U youtube-dl #安裝youtube-dl並更新
youtube-dl "http://www.youtube.com/watch?v=-wNyEUrxzFU"
pip install pdir2
>>> import pdir,requests
>>> pdir(requests)
module attribute:
__cached__, __file__, __loader__, __name__, __package__, __path__, __spec__
other:
__author__, __build__, __builtins__, __copyright__, __license__, __title__,
__version__, _internal_utils, adapters, api, auth, certs, codes, compat, cookies
, exceptions, hooks, logging, models, packages, pyopenssl, sessions, status_code
s, structures, utils, warnings
special attribute:
__doc__
class:
NullHandler: This handler does nothing. It's intended to be used to avoid th
e
PreparedRequest: The fully mutable :class:`PreparedRequest <PreparedRequest>
` object,
Request: A user-created :class:`Request <Request>` object.
Response: The :class:`Response <Response>` object, which contains a
Session: A Requests session.
exception:
ConnectTimeout: The request timed out while trying to connect to the remote
server.
ConnectionError: A Connection error occurred.
DependencyWarning: Warned when an attempt is made to import a module with mi
ssing optional
FileModeWarning: A file was opened in text mode, but Requests determined its
binary length.
HTTPError: An HTTP error occurred.
ReadTimeout: The server did not send any data in the allotted amount of time
.
RequestException: There was an ambiguous exception that occurred while handl
ing your
Timeout: The request timed out.
TooManyRedirects: Too many redirects.
URLRequired: A valid URL is required to make a request.
function:
delete: Sends a DELETE request.
get: Sends a GET request.
head: Sends a HEAD request.
options: Sends a OPTIONS request.
patch: Sends a PATCH request.
post: Sends a POST request.
put: Sends a PUT request.
request: Constructs and sends a :class:`Request <Request>`.
session: Returns a :class:`Session` for context-management.
pip install ncmbot
import ncmbot
#登入
bot = ncmbot.login(phone='xxx', password='yyy')
bot.content # bot.json()
#獲取使用者歌單
ncmbot.user_play_list(uid='36554272')
pip install getsub
pip install tushare
import tushare as ts
#一次性獲取最近一個日交易日所有股票的交易資料
ts.get_today_all()
程式碼,名稱,漲跌幅,現價,開盤價,最高價,最低價,最日收盤價,成交量,換手率
code name changepercent trade open high low settlement \
0 002738 中礦資源 10.023 19.32 19.32 19.32 19.32 17.56
1 300410 正業科技 10.022 25.03 25.03 25.03 25.03 22.75
2 002736 國信證券 10.013 16.37 16.37 16.37 16.37 14.88
3 300412 迦南科技 10.010 31.54 31.54 31.54 31.54 28.67
4 300411 金盾股份 10.007 29.68 29.68 29.68 29.68 26.98
5 603636 南威軟體 10.006 38.15 38.15 38.15 38.15 34.68
6 002664 信質電機 10.004 30.68 29.00 30.68 28.30 27.89
7 300367 東方網力 10.004 86.76 78.00 86.76 77.87 78.87
8 601299 中國北車 10.000 11.44 11.44 11.44 11.29 10.40
9 601880 大連港 10.000 5.72 5.34 5.72 5.22 5.20
10 000856 冀東裝備 10.000 8.91 8.18 8.91 8.18 8.10
# 安裝pip
curl -s https://bootstrap.pypa.io/get-pip.py | python3
# 安裝docker
apt-get update && apt-get install docker.io
# 啟動docker服務
service docker start
# 安裝compose
pip install docker-compose
# 拉取專案
git clone git@github.com:phith0n/vulhub.git
cd vulhub
# 進入某一個漏洞/環境的目錄
cd nginx_php5_mysql
# 自動化編譯環境
docker-compose build
# 啟動整個環境
docker-compose up -d
#測試完成後,刪除整個環境
docker-compose down
北京實時公交
pip install -r requirements.txt 安裝依賴
python manage.py build_cache 獲取離線資料,建立本地快取
#專案自帶了一個終端中的查詢工具作為例子,執行: python manage.py cli
>>> from beijing_bus import BeijingBus
>>> lines = BeijingBus.get_all_lines()
>>> lines
[<Line: 運通122(農業展覽館-華紡易城公交場站)>, <Line: 運通101(廣順南大街北口-藍龍家園)>, ...]
>>> lines = BeijingBus.search_lines('847')
>>> lines
[<Line: 847(馬甸橋西-雷莊村)>, <Line: 847(雷莊村-馬甸橋西)>]
>>> line = lines[0]
>>> print line.id, line.name
541 847(馬甸橋西-雷莊村)
>>> line.stations
[<Station 馬甸橋西>, <Station 馬甸橋東>, <Station 安華橋西>, ...]
>>> station = line.stations[0]
>>> print station.name, station.lat, station.lon
馬甸橋西 39.967721 116.372921
>>> line.get_realtime_data(1) # 引數為站點的序號,從1開始
[
{
'id': 公交車id,
'lat': 公交車的位置,
'lon': 公交車位置,
'next_station_name': 下一站的名字,
'next_station_num': 下一站的序號,
'next_station_distance': 離下一站的距離,
'next_station_arriving_time': 預計到達下一站的時間,
'station_distance': 離本站的距離,
'station_arriving_time': 預計到達本站的時間,
},
...
]
git clone https://github.com/grangier/python-goose.git
cd python-goose
pip install -r requirements.txt
python setup.py install
>>> from goose import Goose
>>> from goose.text import StopWordsChinese
>>> url = 'http://www.bbc.co.uk/zhongwen/simp/chinese_news/2012/12/121210_hongkong_politics.shtml'
>>> g = Goose({'stopwords_class': StopWordsChinese})
>>> article = g.extract(url=url)
>>> print article.cleaned_text[:150]
香港行政長官樑振英在各方壓力下就其大宅的違章建築(僭建)問題到立法會接受質詢,並向香港民眾道歉。
樑振英在星期二(12月10日)的答問大會開始之際在其演說中道歉,但強調他在違章建築問題上沒有隱瞞的意圖和動機。
一些親北京陣營議員歡迎樑振英道歉,且認為應能獲得香港民眾接受,但這些議員也質問樑振英有
pip install MyQR
myqr https://github.com
myqr https://github.com -v 10 -l Q
pip install fake-useragent
from fake_useragent import UserAgent
ua = UserAgent()
ua.ie
# Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US);
ua.msie
# Mozilla/5.0 (compatible; MSIE 10.0; Macintosh; Intel Mac OS X 10_7_3; Trident/6.0)'
ua['Internet Explorer']
# Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB7.4; InfoPath.2; SV1; .NET CLR 3.3.69573; WOW64; en-US)
ua.opera
# Opera/9.80 (X11; Linux i686; U; ru) Presto/2.8.131 Version/11.11
ua.chrome
# Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.2 (KHTML, like Gecko) Chrome/22.0.1216.0 Safari/537.2'
pip install httpstat
httpstat httpbin.org/get
pip install sh
from sh import ifconfig
print ifconfig("eth0")
pip install -U textblob#英文文字的情感分析
pip install snownlp#中文文字的情感分析
from snownlp import SnowNLP
text = "I am happy today. I feel sad today."
from textblob import TextBlob
blob = TextBlob(text)
TextBlob("I am happy today. I feel sad today.")
blob.sentiment
Sentiment(polarity=0.15000000000000002, subjectivity=1.0)
s = SnowNLP(u'這個東西真心很贊')
s.words # [u'這個', u'東西', u'真心',
# u'很', u'贊']
s.tags # [(u'這個', u'r'), (u'東西', u'n'),
# (u'真心', u'd'), (u'很', u'd'),
# (u'贊', u'Vg')]
s.sentiments # 0.9769663402895832 positive的概率
s.pinyin # [u'zhe', u'ge', u'dong', u'xi',
# u'zhen', u'xin', u'hen', u'zan']
s = SnowNLP(u'「繁體字」「繁體中文」的叫法在臺灣亦很常見。')
s.han # u'「繁體字」「繁體中文」的叫法
# 在臺灣亦很常見。'
pip install -U getproxy
➜ ~ getproxy --help
Usage: getproxy [OPTIONS]
Options:
--in-proxy TEXT Input proxy file
--out-proxy TEXT Output proxy file
--help Show this message and exit.
--in-proxy 可選引數,待驗證的 proxies 列表檔案
--out-proxy 可選引數,輸出已驗證的 proxies 列表檔案,如果為空,則直接輸出到終端
--in-proxy 檔案格式和 --out-proxy 檔案格式一致
pip install git+git://github.com/lzjun567/zhihu-api --upgrade
from zhihu import Zhihu
zhihu = Zhihu()
zhihu.user(user_slug="xiaoxiaodouzi")
{'avatar_url_template': 'https://pic1.zhimg.com/v2-ca13758626bd7367febde704c66249ec_{size}.jpg',
'badge': [],
'name': '我是小號',
'headline': '程式設計師',
'gender': -1,
'user_type': 'people',
'is_advertiser': False,
'avatar_url': 'https://pic1.zhimg.com/v2-ca13758626bd7367febde704c66249ec_is.jpg',
'url': 'http://www.zhihu.com/api/v4/people/1da75b85900e00adb072e91c56fd9149', 'type': 'people',
'url_token': 'xiaoxiaodouzi',
'id': '1da75b85900e00adb072e91c56fd9149',
'is_org': False}
pip install leakPasswd
import leakPasswd
leakPasswd.findBreach('taobao')
pip install ngxtop
$ ngxtop
running for 411 seconds, 64332 records processed: 156.60 req/sec
Summary:
| count | avg_bytes_sent | 2xx | 3xx | 4xx | 5xx |
|---------+------------------+-------+-------+-------+-------|
| 64332 | 2775.251 | 61262 | 2994 | 71 | 5 |
Detailed:
| request_path | count | avg_bytes_sent | 2xx | 3xx | 4xx | 5xx |
|------------------------------------------+---------+------------------+-------+-------+-------+-------|
| /abc/xyz/xxxx | 20946 | 434.693 | 20935 | 0 | 11 | 0 |
| /xxxxx.json | 5633 | 1483.723 | 5633 | 0 | 0 | 0 |
| /xxxxx/xxx/xxxxxxxxxxxxx | 3629 | 6835.499 | 3626 | 0 | 3 | 0 |
| /xxxxx/xxx/xxxxxxxx | 3627 | 15971.885 | 3623 | 0 | 4 | 0 |
| /xxxxx/xxx/xxxxxxx | 3624 | 7830.236 | 3621 | 0 | 3 | 0 |
| /static/js/minified/utils.min.js | 3031 | 1781.155 | 2104 | 927 | 0 | 0 |
| /static/js/minified/xxxxxxx.min.v1.js | 2889 | 2210.235 | 2068 | 821 | 0 | 0 |
| /static/tracking/js/xxxxxxxx.js | 2594 | 1325.681 | 1927 | 667 | 0 | 0 |
| /xxxxx/xxx.html | 2521 | 573.597 | 2520 | 0 | 1 | 0 |
| /xxxxx/xxxx.json | 1840 | 800.542 | 1839 | 0 | 1 | 0 |
pip install iquery
Usage:
iquery (-c|彩票)
iquery (-m|電影)
iquery -p <city>
iquery -l song [singer]
iquery -p <city> <hospital>
iquery <city> <show> [<days>]
iquery [-dgktz] <from> <to> <date>
Arguments:
from 出發站
to 到達站
date 查詢日期
city 查詢城市
show 演出的型別
days 查詢近(幾)天內的演出, 若省略, 預設15
city 城市名,加在-p後查詢該城市所有莆田醫院
hospital 醫院名,加在city後檢查該醫院是否是莆田系
Options:
-h, --help 顯示該幫助選單.
-dgktz 動車,高鐵,快速,特快,直達
-m 熱映電影查詢
-p 莆田系醫院查詢
-l 歌詞查詢
-c 彩票查詢
Show:
演唱會 音樂會 音樂劇 歌舞劇 兒童劇 話劇
歌劇 比賽 舞蹈 戲曲 相聲 雜技 馬戲 魔術
來源:蘇生不惑
segmentfault.com/a/1190000010103386
雲端計算免費課程火熱開講中,5天運維經典課程免費學,會雲端計算的運維人才到底需要掌握哪些技術,未來前景發展怎麼樣?跟隨行業大咖一起剖根究底,點選文末“閱讀原文”或長按下方二維碼即可報名免費課程!抓住免費學習的機會,逆襲2019~~
PS:記得查收小編送你的免費大禮包呦~
福利 | 一萬多套PPT模板等你免費來拿!無條件領取!
免費送 | 1000多套簡歷模板免費拿,附贈簡歷製作教程!
免費領 | 《Shell指令碼 100例》電子書免費拿,運維必備乾貨~
▼▼點選【閱讀原文】,5天運維免費課程,開講在即!
相關文章
- 那些有趣/用的 Python 庫Python
- 一些有用的Python庫Python
- 有趣也有用的現代型別系統型別
- 那些有趣的codepen專案
- Maven那些非常有用的 PluginMavenPlugin
- 工作中那些有用的工具
- 盤點Excel中的那些有趣的“bug”Excel
- Python有用的模組Python
- Python有趣的小案例Python
- Python中非常有用的三個資料科學庫Python資料科學
- 那些有趣的演算法之布隆過濾器演算法過濾器
- 伺服器能做那些有趣是!你知道嗎?????伺服器
- 有趣的Python:Python控制鍵盤滑鼠Python
- 5個支援Python的遊戲開發庫!真的很有用Python遊戲開發
- Python 計算生態中那些著名的庫-機器學習Python機器學習
- GitHub上有趣的python資料GithubPython
- 15 個有趣的 JavaScript 與 CSS 庫JavaScriptCSS
- 24個有用的PHP類庫分享PHP
- 20個很有用的PHP類庫PHP
- 真是人不如狗 盤點那些有趣的寵物智慧穿戴產品
- 非常有趣的Python的用法彙總Python
- 10個超級有用的Python工具!Python
- 五個最有用的Python技巧 - dannysteenmanPython
- 24個有用的PHP類庫分享(上)PHP
- 24個有用的PHP類庫分享(下)PHP
- 20個非常有用的PHP類庫PHP
- Python 計算生態中那些著名的庫-文字處理Python
- Python裡的那些坑Python
- Python裡的17個“騷操作”好玩有趣Python
- 有趣且鮮為人知的 Python “特性”Python
- 學python對金融有用嗎Python
- 聊一聊那些腦洞大開、有趣又奇葩的排序演算法排序演算法
- 備庫跳歸檔恢復的有趣案例
- 10 個非常有用的 SVG 動畫的 JavaScript 庫SVG動畫JavaScript
- 非常有用的jdbc的運算元據庫JDBC
- 17個非常有用的PHP類和庫PHP
- 20個開發Android最有用的庫Android
- 對開發者非常有用的16個 JavaScript 庫JavaScript