import requests
requests
请求
GET 请求 requests.get(url)
请求参数 requests.get(url, params={})
定制请求头 requests.get(url, headers={})
POST 请求 requests.post(url)
请求参数 requests.post(url, data={})
定制请求头 requests.post(url, headers={})
响应
文本内容 r.text
响应编码 r.encoding
二进制响应内容 r.content
json 响应内容 r.json()
响应状态码 r.status_code
响应头 r.headers['headr_name']
响应 cookie r.cookies['cookie_name']
sqlalchemy
ORM用法
导入
from slqalchemy import Column, String, create_engine
from slqalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
创建基类对象
Base = declarative_base()
定义 Model
class User(Base):
# 声明表名
__tablename__ = 'User'
# 声明表结构
id = Column(String(20), primary_key=True)
初始化数据库连接
engine = create_engine('数据库类型+数据库驱动名称://用户名:口令@机器地址:端口号/数据库名', echo=True) # echo=True 打印 sql 语句
创建 DBSession
DBSession = sessionmaker(bind=engine)
创建 session
session = DBSession()
添加对象到 session
session.add(user)
查询数据
提交 session
session.commit()
关闭 session
session.close()
执行普通 sql 语句
新增数据
sql = text('INSERT INTO user(name, pwd) VALUES (:name, :pwd)')
data = session.execute(sql, {'name': '', 'pwd': ''})
删除数据
sql = text('DELETE FROM user WHERE id = :id')
data = session.execute(sql, {'id': ''})
查询数据
sql = text('SELECT * FROM user WHERE id < :id')
data = session.execute(sql, {'id': ''})
data.rowcount # 显示条数
data.fetchone() # 获取一条数据
for i in data.fetchall(): # 获取所有数据
print(i)
更新数据
sql = text('UPDATE user SET name = :old_name WHERE name = :new_name')
session.execute(sql, {'old_name': '', 'new_name': ''})
datatime
from datatime import datatime
格式化字符串为 datatime
datatime.strptime('2016-08-06', '%Y-%m-%d')
datatime 格式化字符串
datatime_obj.strftime('%Y-%m-%d')
获取当前时间的 datetime
datetime.now()
datetime 转 timestamp
datetime_obj.timestamp()
timestamp 转 datetime, 使用本地时区
datetime.fromtimestamp(float)
timestamp 转 datetime, 使用 UTC 标准时区
datetime.utcfromtimestamp(float)
datetime 加减
from datetime import timedelta, datetime
datetime.now() + timedelta(hours=10)
Beautiful Soup
导入 bs4 库
from bs4 import BeautifulSoup
创建 BeautifulSoup 对象
soup = BeautifulSoup(html, 'html.parser') # 或者使用 lxml 解析 BeautifulSoup(html, 'lxml')
得到第一个匹配的 Tag 对象,type 为 bs4.element.Tag
soup.title # <title>The Dormouse's story</title>
soup.head # <head><title>The Dormouse's story</title></head>
soup.p # <p class="title" name="dromouse"><b>The Dormouse's story</b></p>
Tag 对象属性
name
返回标签名attrs
返回标签的所有属性和值,得到一个字典- 对 Tag 对象属性修改
soup.a['src']=''
- 删除 Tag 某一个属性
del soup.a['src']
获取 Tag 对象的内部的文字
soup.p.string
返回一个 NavigableString
对象
遍历文档树
获取 Tag 子节点
Tag_obj.contents
返回一个列表
Tag_obj.children
返回一个 list 生成器对象
获取后代节点
Tag_obj.descendants
可使用 for
进行遍历
获取多个内容
soup.strings
返回一个生成器对象
soup.stripped_strings
去除空格和空行
搜索 Tag 节点的后代节点
Tag_obj.find_all(name, attrs, recursive, text, **kwargs)
name 可使用
1. 字符串 Tag_obj.find_all('a')
2. 正则表达式 Tag_obj.find_all('re.compile('^b')')
3. 列表 Tag_obj.find_all('a', 'img')
4. True 表示查找所有节点 Tag_obj.find_all(True)
5. 传方法可以自定义过滤器 Tag_obj.find_all(filter)