首页 > 数据库 >python可复用代码(连接数据库/字符串处理/爬虫/日志配置)【1】

python可复用代码(连接数据库/字符串处理/爬虫/日志配置)【1】

时间:2024-04-28 11:55:51浏览次数:25  
标签:logging python 爬虫 param 复用 raw str import conn

import pymysql
import logging
import time
import random
import logging

import requests
from bs4 import BeautifulSoup

"""
获取数据库连接
"""
#连接数据库  获取游标
def get_conn():
    """
    :return: 连接,游标
    """
    # 创建连接
    conn = pymysql.connect(host="",
                    user="",
                    password="",
                    db="db",
                    charset="utf8")
    # 创建游标
    cursor = conn.cursor()  # 执行完毕返回的结果集默认以元组显示
    if ((conn != None) & (cursor != None)):
        print("数据库连接成功!游标创建成功!")
    else:
        print("数据库连接失败!")
    return conn, cursor
#关闭数据库连接和游标
def close_conn(conn, cursor):
    if cursor:
        cursor.close()
    if conn:
        conn.close()
    return 0

"""
休眠
"""
def sleep_random(a,b):
    sleep_time = random.uniform(a,b)
    logging.info(time.asctime()+" 系统进入休眠...")
    time.sleep(sleep_time)
    logging.info(time.asctime()+" 系统结束休眠...")

"""
配置日志记录
"""
logger = logging.getLogger("variable_logger")
# 设置 logger 的级别
logger.setLevel(logging.DEBUG)
# 配置日志记录
logging.basicConfig(level=logging.DEBUG)
logger.info(f"-------------无聊分割线 正在获取第  页数据-------------")

"""
简单爬虫获取html
"""
url_raw= ''
form_data ={}
headers_raw = {
            'User-Agent': '',
            'Cookie': '',
            'Authorization': ''
}
response_raw = requests.post(url = url_raw ,params = form_data,headers = headers_raw)
# response_raw = requests.get(url = url_raw,headers = headers_raw)
response_raw.encoding = 'utf-8'
if response_raw.status_code == 200:
    print("成功get")
page_text = response_raw.text
# table   id="list_table"
soup = BeautifulSoup(page_text, 'html.parser')
table_raw = soup.find_all('table', id='list_table')

"""
处理字符串
"""
def str_format(str_param):
    if(str_param == None or str_param == ''):
        return str_param
    # 转字符串
    str_param = str(str_param)
    # 替换
    str_param_list = str_param.strip().replace("\t", "")
    #
    res = " ".join(str_param.split())
    return res

标签:logging,python,爬虫,param,复用,raw,str,import,conn
From: https://www.cnblogs.com/rainbow-1/p/18163417

相关文章

  • Alibaba Cloud Linux release 3 Python 3.8 安装
    AlibabaCloudLinuxrelease3Python3.8安装https://zhuanlan.zhihu.com/p/690125733背景买了台阿里云服务器玩玩,项目需要Python3.8,但是机器上配置了3.6.8机器信息:机器信息:Linuxversion5.10.134-16.1.al8.x86_64AlibabaCloudLinuxrelease3linux的多python版......
  • Python中有很多库可以操作Excel,像xlsxwriter、openpyxl、pandas、xlwings等
    Python中确实有多个库可以用于操作Excel文件,包括但不限于xlsxwriter、openpyxl、pandas和xlwings。以下是这些库的简要介绍和它们各自的优点:xlsxwriter:优点:专门用于创建新的.xlsx文件。提供了丰富的功能来创建复杂的Excel文档,包括图表、图片、自动筛选等。性能相对较......
  • 11个Python循环技巧
    本文分享自华为云社区《Python中的循环技巧指南》,作者:柠檬味拥抱。当我们处理数据时,有时候需要创建多个列表以存储不同类型或不同条件下的数据。在Python中,我们可以利用循环来快速、高效地创建这些列表。本文将介绍如何使用循环在Python中创建多个列表,并提供代码实例。python用......
  • MBIST和BISR+循环移位和强制转换+verdi操作+vip需要disable auto recording+vim设置某
    MBIST和BISRhttps://blog.csdn.net/liubin1222/article/details/103995449https://zhuanlan.zhihu.com/p/161185302进行内存修复需要两步:首先在可修复内存测试期间,由MBIST控制器诊断出的故障。第二步是修复内存,确认修复签名。可修复的存储器都有带修复签名的寄存器。MBIST(Me......
  • [Python急救站]人脸识别技术练习
    这段时间做了一个用于初学者学习人脸识别系统的程序,在上代码时,先给说说事前准备:首先我们需要一个OpenCV的一个haarcascade_frontalface_default.xml文件,只要去GitHub上面即可下载:https://github.com/opencv/opencv点击Code,选择DownloadZIP,下载后解压在目录下opencv-4.x\data\ha......
  • 攻防世界-难度1- bad_python
    the.pycisbroken,canyouhelpmerecover?攻防世界难度1-bad_pythonpython头部观察文件名pyre.cpython-36.pyc,说明是在python3.6环境下编译的,那么需要恢复正常pyc3.6对应的首部16字节。uncompyle6pip3installuncompyle6uncompyle6--versionuncompyle6pyre.cpython......
  • python题
    【Python0002】排列组合序列【题目描述】用户输入整数n(1<=n<=26)和整数m(m<=n),然后输入n个不同的字母,请编写程序输出在这n个字母中选择m个字母的所有排列序列和组合序列。【源代码程序】importitertools defgenerate_permutations_combinations(letters,m):    #生成......
  • python下载和扩展文件下载
    (三)、练习安装Python扩展库【实验截图】1、在资源管理器中进入Python安装目录的scripts子目录,然后按下Shift键,在空白处单击鼠标右键,在弹出来的菜单中选择“在此处打开命令窗口”进入命令提示符环境   2.使用pip命令在线安装Python扩展库numpy、pandas、scipy......
  • blender python api 将指定的顶点组(water)转换为颜色属性water_colors
    1.选中物体,进入权重绘制模式2.代码:importbpy#获取当前活动的物体obj=bpy.context.object#确保物体是网格类型ifobj.type!='MESH':print("当前激活的对象不是网格类型。")#exit()#使用exit()来提前退出脚本#获取名为“water”的顶点组vertex_gro......
  • blender python api 获取所有顶点组并将各自的顶点组转换为对应的颜色属性
    1.选中物体,进入权重绘制模式2.代码importbpy#获取当前活动的物体obj=bpy.context.object#确保物体是网格类型ifobj.type!='MESH':print("当前激活的对象不是网格类型。")#exit()#遍历所有顶点组forvg_nameinobj.vertex_groups.keys():#获......