Requests
import requests
# 对于带参数的URL,传入一个dict作为params参数
params={'q':'python','cat':'1001'}
# 要传入HTTP Header时,我们传入一个dict作为headers参数
my_header={'User-Agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit'}
# 请求中传入Cookie,只需准备一个dict传入cookies参数
# my_cookie={'kay':'value'}
# requests.get(...,cookies=my_cookie,...)
# 指定超时,传入以秒为单位的timeout参数:
r=requests.get('https://www.douban.com/search',params=params,headers=my_header,timeout=10)
print(r.url,r.status_code,r.reason)
# requests自动检测内容编码,可以使用encoding属性查看
print(r.encoding)
# 获得反馈json
# print(r.json())
# 获取响应头
print(r.headers)
print(r.headers['Content-Type'])
# 获取Cookie,把cookie对象转换为dict
cookies = requests.utils.dict_from_cookiejar(r.cookies)
print(cookies)
print(r.cookies['bid'])
# 用content属性获得bytes对象
print(r.content)
# 获取网页代码
print(r.text)
# 要发送POST请求,只需要把get()方法变成post(),然后传入dict形式的data参数作为POST请求的数据
# 把post()方法替换为put(),delete()等,就可以以PUT或DELETE方式请求资源。
# # 如果要传递JSON数据,可以直接传入dict形式的json参数
# 上传文件需要更复杂的编码格式,但是requests把它简化成files参数,
# 在读取文件时,注意务必使用'rb'即二进制模式读取,这样获取的bytes长度才是文件的长度
# my_data={'form_email': 'abc@example.com', 'form_password': '123456'}
# params = {'key': 'value'}
# upload_files = {'file': open('report.xls', 'rb')}
# r = requests.post(url, json=params,data=my_data,files=upload_files)
Psutils
import psutil
#CPU线程;核心数;CPU的用户/系统/空闲时间:
print(psutil.cpu_count(),psutil.cpu_count(logical=False),psutil.cpu_times())
# CPU线程使用率,每3秒刷新一次
for i in range(5):
print(psutil.cpu_percent(interval=3,percpu=True))
# 获取物理内存和交换内存信息
print(psutil.virtual_memory())
print(psutil.swap_memory())
# # 磁盘分区信息
print(psutil.disk_partitions())
# F磁盘使用情况
psutil.disk_usage('F:\')
# 磁盘IO
print(psutil.disk_io_counters())
# 获取网络读写字节/包的个数
print(psutil.net_io_counters())
# 获取网络接口信息
print(psutil.net_if_addrs())
# 获取网络接口状态
print(psutil.net_if_stats())
'''
#需要管理员权限
psutil.pids() # 所有进程ID
psutil.Process(8080) # 获取指定进程ID=3776,其实就是当前Python交互环境
p.name() # 进程名称
p.exe() # 进程exe路径
p.cwd() # 进程工作目录
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() # 结束进程
'''
#实时监测进程信息
psutil.test()