第三方模塊

一.Pillow

處理圖像模塊cookie

若是安裝了Anaconda,Pillow就已經可用了。不然,須要在命令行下經過pip安裝:網絡

$ pip install pillow

  

1.生成縮略圖:

from PIL import Image

# 打開一個jpg圖像文件,注意是當前路徑:
im = Image.open('t.jpg')
# 得到圖像尺寸:
w, h = im.size
print('Original image size: %sx%s' % (w, h))
# 縮放到50%:
im.thumbnail((w//2, h//2))
print('Resize image to: %sx%s' % (w//2, h//2))
# 把縮放後的圖像用jpeg格式保存:
im.save('thumbnail.jpg', 'jpeg')

  

2.模糊效果

from PIL import Image, ImageFilter

# 打開一個jpg圖像文件,注意是當前路徑:
im = Image.open('t.jpg')
# 模糊效果
im2 = im.filter(ImageFilter.BLUR)
im2.save('blur.jpg', 'jpeg')

  

3.生成字母驗證碼圖片

from PIL import Image, ImageDraw, ImageFont, ImageFilter

import random

# 隨機字母:
def rndChar():
    return chr(random.randint(65, 90))

# 隨機顏色1:
def rndColor():
    return (random.randint(64, 255), random.randint(64, 255), random.randint(64, 255))

# 隨機顏色2:
def rndColor2():
    return (random.randint(32, 127), random.randint(32, 127), random.randint(32, 127))

# 240 x 60:
width = 60 * 4
height = 60
image = Image.new('RGB', (width, height), (255, 255, 255))
# 建立Font對象:
font = ImageFont.truetype('CENTAUR.TTF', 36)
# 建立Draw對象:
draw = ImageDraw.Draw(image)
# 填充每一個像素:
for x in range(width):
    for y in range(height):
        draw.point((x, y), fill=rndColor())
# 輸出文字:
for t in range(4):
    draw.text((60 * t + 10, 10), rndChar(), font=font, fill=rndColor2())
# 模糊:
image = image.filter(ImageFilter.BLUR)
image.save('code.jpg', 'jpeg')

  

二.requests

處理URL資源dom

1.get

import requests

# 設置cookie和超時(單位秒)
r = requests.get('http://www.baidu.com', data = {'q': 'word'},
                 headers={'User-Agent':
                              'Mozilla/5.0 (iPhone; '
                              'CPU iPhone OS 11_0 like Mac OS X) AppleWebKit'},
                 timeout = 2.5,
                 cookies={'status': '1'})
print(r.status_code)
# 得到string對象
print(r.text)
# 得到bytes對象
print(r.content)
# cookie
print(r.cookies)

  

2.post:

import requests

r = requests.get('http://www.baidu.com', params = {'q': 'word'},
                 headers={'User-Agent':
                              'Mozilla/5.0 (iPhone; '
                              'CPU iPhone OS 11_0 like Mac OS X) AppleWebKit'})
print(r.status_code)
# 得到string對象
print(r.text)
# 得到bytes對象
print(r.content)

  

三.chardet

檢測編碼ide

# -*- coding:utf-8 -*-
import chardet

ch = chardet.detect('中國'.encode('utf-8'))
print(ch)

  

輸出:
{'encoding': 'utf-8', 'confidence': 0.7525, 'language': ''}post

confidence:檢測正確的機率是74%編碼

四.psutil(process and system utilities)

獲取系統信息.net

1.cpu
import psutil

# CPU邏輯數量
print(psutil.cpu_count())

# cpu 物理核心
print(psutil.cpu_count(logical=True))

# 統計CPU的用戶/系統/空閒時間
print(psutil.cpu_times())

# cpu使用率
print(psutil.cpu_percent(interval=1, percpu=True)) #percpu是否統計每一個物理核心cpu

2.內存
import psutil

# 物理內存(單位是字節數)
print(psutil.virtual_memory())

# 交換內存
print(psutil.swap_memory())

3.獲取磁盤信息
import psutil

# 磁盤分區
print(psutil.disk_partitions())

# 磁盤使用狀況
print(psutil.disk_usage('c:/'))

# 磁盤io
print(psutil.disk_io_counters())

4.獲取網絡信息(須要管理員權限)
import psutil

# 網絡讀寫字節/包個數
print(psutil.net_io_counters())

# 獲取網絡接口信息
print(psutil.net_if_addrs())

# 獲取網絡接口狀態
print(psutil.net_if_stats())

# 網絡鏈接信息
print(psutil.net_connections())

5.獲取進程信息(須要管理員權限)

import psutil

# 獲取全部進程pid
print(psutil.pids())

# 獲取指定進程
p = psutil.Process(96)
# 名稱
print(p.name())
# 進程執行文件路徑
print(p.exe())
# 進程工做目錄
print(p.cwd())
# 進程啓動的命令行
print(p.cmdline())

p.ppid() # 父進程ID
p.parent() # 父進程
p.children() # 子進程列表
p.status() # 進程狀態
p.username() # 進程用戶名
p.create_time() # 進程建立時間
p.terminal() # 進程終端
p.cpu_times() # 進程使用的CPU時間
p.memory_info() # 進程使用的內存
p.open_files() # 進程打開的文件
p.connections() # 進程相關網絡鏈接
p.num_threads() # 進程的線程數量
p.threads() # 全部線程信息
p.environ() # 進程環境變量
p.terminate() # 結束進程

模擬ps:
import psutil

psutil.test()
相關文章
相關標籤/搜索