python 一些模块的应用
最近还在搞爬虫,写一些python 模块记录一下,增强一下记忆,资料不是官网就是其他大神写好了的,我只是做个整理自己看到而已。觉得不合适,麻烦私聊我(不经常在线,看到会立即回的),我会可以删掉:
1.必不可少的 requests 模块:
复制postman 代码就可以了运行了;
import requests
url = "https:...."
payload="{\"start\":\"2022-02-07\",\"end\":\"2022-02-07\",......}"
headers = {'....':'。。。。。。。''referer': '。。。。。。。。','cookie': '。。。。。。。。'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
requests.request(“POST”, url, headers=headers, data=payload)
method: 支持 GET, OPTIONS, HEAD, POST, PUT, PATCH, DELETE
url: str的地址
headers:包含接口的请求头信息
params: (可选) 十几个控制访问参数
response 是返回的信息:
response.text # 响应文本(字符串)(通常打印的时候,可以这样打印出来)
response.content # 响应内容(二进制),一般用来爬取视频
response.status_code # 响应的状态码
response.url # 获取请求连接地址
response.cookies # 获取返回的cookies信息
response.cookies.get_dict() # 获取返回的cookies信息
response.request # 获取请求方式
将返回结果转化为josn格式进行反序列化
response.json()
爬取文档乱码
response.apparent_encoding # 文档的编码的方式(从HTML文档找)
response.encoding # 响应体编码方式
eg: response.encoding = response.apparent_encoding # 文档的声明方式
response.headers # 查看响应头
response.history # 重定向历史 即前一次请求的地址
2. 数据库连接 pymysql 模块:
连接数据库的。
def connectDoris(ip,user,password,db,port):
try:
conn = pymysql.connect(host=ip,
user=user,
passwd=password,
db=db,
port=port,
charset=“utf8”,
autocommit=True)
except Exception as err:
print(“连接失败,失败提示:”, err)
else:
cursor = conn.cursor(pymysql.cursors.DictCursor)
return cursor
cursor 是 游标
cursor.execute( sql 语句) 进行 语句查询和插入处理的
查询数据 出现小数据点报错?怎么处理?
遍历 查询结果 报错:(for d in dd:)
dd=…
NameError: name ‘Decimal’ is not defined
解决:一天都找不到方法,最后终于最后一步,尝试加入from decimal import * 模块。get,正常输出了。。。。。。
cursor.lastrowid 获取自增列数值,
conn.cursor(pymysql.cursors.DictCursor)
DictCursor 是 pymysql库的游标属性可以将查询游标改成输出字典(dict)类型,包含字段名称
默认情况下游标是数组(list)类型的结果,查询结果不包含字段名称
‘account_id’: ‘2358104’, ‘media_platform’: ‘快客’
‘2358104’, ‘快客’
cursor坑:有一次在打印输出的时候,遇到插入结果是 0?
通过层层查找最后发现:…dcursor.execute(selesql)
和 dcursor.fetchall() 绝对不能隔开,否则就取不到返回值。
def select_data_from(dcursor, table, start_date, end_date,platform): # 数据插入doris–注意查询语句 拼接有很多坑–比如字符串 —比如符号
selesql = “select * from …;”
try:
dcursor.execute(selesql)
selec_result = dcursor.fetchall()
#中间不能隔任何语句,不然就获取不到值的!
print(“查询是:”,len(dcursor.fetchall()),table)
return selec_result
except Exception as err:
print(“查询失败,失败提示:”, err)
字符串常见的坑:
就是输出 函数 ’my’ 到变量 变成字符串打印出来
老是只有my,而不是 ”my“
此时要用到转义符:+"""+变量+"""+ 加两边的字符串就好了
3.注释模块
最近在用的时候,不太熟练 老是报警告,看着很不舒服。
所以来记录一下,如何删除一些警告
1.注释带来的警告,如图一堆的,警告下划线
解决方式:你在 # 玩意后面 按个空格键
2.waring: no newline at end of file警告
把按回车键回到最高层就好了
3.警告:PEP 8: E302 expected 2 blank lines, found 1
你的函数名前面,按两次回车
4.函数名尽量使用小写
5 E501 line too long (122 > 120 characters) 找到设置,该这个到任何你想要的。
4. base 加密,解密,编码,解压等;
有点难受,按照编码进行尝试,报错:
#-- encoding:gb2312 --
import base64
if name == ‘main’:
att = “this is a test”
att.encode(‘utf-8’)
key = base64.b32encode(att)
key1 = base64.b32decode(key)
print(key,key1)
TypeError: memoryview: a bytes-like object is required, not ‘str’
解决:加个b就干掉了。大神还是大神哦:
att = b’this is a test’
import struct
打包 和解包 的
msg = struct.pack(">Q", intervals_no)
#fmt 是字母 ,对应c 类型和python类型 的转换,输出二进制
# >Q 代表 c类型unsigned long long 对应python 整数
#将v1,v2等参数的值进行一层包装,包装的方法由fmt指定
网图 对应表: > = < 代表是大端 小端等
chr(i) 函数
用来返回整数i所对应的Unicode字符,参数i为整数,取值范围必须在【0 - 1114111(十六进制为 0x10FFFF)】之间,否则将引发ValueError错误。
如 chr(97) 返回字符串 a
ord(i) 函数
ord(chr(97)) 返回97
ord() 函数是chr() 函数(对于8 位的ASCII 字符串)的配对函数
大端模式:
指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。
小端模式:
是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。
4. os模块:
os 模块
os.getenv(‘DEPLOY_ENV’, ‘dev’)
5.pandas 模块:
从doris 读出dataframe 格式;也可以一下导入和输出数据;
数据读取:
import pymysql
import pandas con = pymysql.connect(host="127.0.0.1",user="root",password="password",db="world")
# 读取sql
data_sql=pandas .read_sql("SELECT * FROM table",con)
# 存储
data_sql.to_csv("test.csv")
数据插入:
import pandas as pd
from datetime import datetime
from sqlalchemy import create_engine#先转为dataframe类型哦
df = pd.DataFrame([['a', 1, 1, 2.0, datetime.now(), True]], columns=['str', 'int', 'float', 'datetime', 'boolean'])engine = create_engine("mysql+mysqldb://{}:{}@{}/{}".format('username', 'password', 'host:port', 'database'))
con = engine.connect()df.to_sql(name='test', con=con, if_exists='append', index=False)
另外一种数据插入:
import pymysql
import randomdb = pymysql.connect("localhost", "root", "123456", 'blog')
cursor = db.cursor()
data = list()
for i in range(10):title_list = ["python", "flask", "Django"]body_list = ["this is python", "this is flask", "this is Django"]value = (random.choice(title_list), random.choice(body_list))data.append(value)def insert_data():sql = "insert into blog(title, body) values (%s, %s)"try:cursor.executemany(sql, data)db.commit()print("insert success")except:db.rollback()
python 一些模块的应用相关推荐
- Python Re 模块超全解读!详细
内行必看!Python Re 模块超全解读! 2019.08.08 18:59:45字数 953阅读 121 re模块下的函数 compile(pattern):创建模式对象 > import ...
- python argparse模块_Python argparse模块应用实例解析
这篇文章主要介绍了Python argparse模块应用实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简介 argparse是python ...
- 关于使用python logging模块的几点总结
关于使用python logging模块的几点总结 使用python的标准日志模块logging可以非常方便地记录日志.Python日志系统非常丰富.添加结构化或非结构化日志输出到python代码,写 ...
- python高级-模块(14)
一.python中的模块 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt函数,必须用语句#include <math.h>引入math.h这个头文件,否则是无法正常进行调用的. ...
- 转载: Python os 模块的功能以及子函数介绍
原文链接: python之os模块 - 程序生(Codey) - 博客园 https://www.cnblogs.com/cxscode/p/8085326.html 一.Python OS模块介绍 ...
- 简单介绍python process模块
在python中大部分情况需要使用多进程,python提供了multiprocessing模块.multiprocessing模块的功能众多:支持子进程.通信和共享数据.执行不同形式的同步,提供了Pr ...
- python io模块_python中的StringIO模块
原博文 2015-10-23 15:21 − # python中的StringIO模块 标签:python StringIO --- > 此模块主要用于在内存缓冲区中读写数据.模块是用类编写的, ...
- python正则表达式需要模块_使用Python正则表达式模块,让操作更加简单
处理文本数据的一个主要任务就是创建许多以文本为基础的特性. 人们可能想要在文本中找出特定格式的内容,比如找出存在于文本中的电子邮件,或者大型文本中的电话号码. 虽然想要实现上述功能听起来很繁琐,但是如 ...
- python导入模块有同名_Python:导入与函数同名的模块
背景:第一次在SE上提问.我在 Python方面还很陌生,而且在编程方面也不是很有经验.我已经四处寻找,但我没有找到这个问题的答案,我非常感谢你的帮助. 我的问题是:如何导入与函数同名的模块? 具体来 ...
- python第三方模块—psutil模块
系统基础信息采集模块作为监控模块的重要组成部分,能够帮助运维人员了解当前系统的健康程度,同时也是衡量业务的服务质量的依据,比如系统资源吃紧,会直接影响业务的服务质量及用户体验,另外获取设备的流量信息, ...
最新文章
- css文字背景虚化,通过实现背景模糊、文字颜色流光渐变、边框扩展等效果学习transition、transform、@keyframes等属性及伪元素的使用...
- Spring的事务控制
- Python爬取网页图片
- 三亚游—温暖的寒冬、蔚蓝的海和安九拉
- 互联网早报|宠物行业上半年融资吸金超60亿;猿辅导、掌门教育进军素质教育赛道
- 搜狗搜微信链接为什么老是失效?
- 弘辽科技:拼多多关键词出价多少好?出价方法有哪些?
- 学术英语社科Unit8原文翻译
- 我的世界服务器圈地系统,我的世界领地指令大全 圈地方法分享
- 内蒙古大学计算机考研复试分数线,内蒙古大学2016年考研复试分数线
- 计算机话筒技术指标,手把手教你搞懂麦克风的技术指标
- 营销型网站就不用做SEO优化了吗
- 配置与管理Web服务器
- DSP28335学习之旅1-基础知识
- 思科模拟器教程-RIP、OSPF路由协议重发布
- 创新创业理论研究与实践杂志社创新创业理论研究与实践编辑部2022年第18期目录
- 从零开始,手把手,一文kaggle竞赛速度入门! 泰坦尼克
- Mac电脑如何设置色彩滤镜?
- ping命令加时间显示
- 拼客学院51CTO学院在线课程汇总