新模块Spider_toolkit介绍

#pip install Spider_Toolkit
from Spider_Toolkit import spidertools

# 下载器function,返回字符串ok
spidertools.donwload_byte_function()
'''
        url: str = None,单个url
        headers: [dict[str, any], None] = None,请求头
        cookie: [dict[str, any], None] = None,cookie
        param: [dict[str, any], None] = None,param
        data: [dict[str, any], None] = None,data
        proxies: [dict[str, any], None] = None,代理
        verify: bool = True,代理
        path_: str = './',保存路径,默认为'./',就算是不存在该文件夹也会自动创建
        name: str = '',文件名 可以不填,如果url为 .../文件名.文件格式 或者 .../文件名.文件格式?...的形式,会自动进行切割,也支持手动传入
        type_: str = ''存储文件类型 同上
'''

# 下载器class,根据urls的长度和Max_Thread的大小返回单线程或多线程对象
download = spidertools.download_byte()
'''
        Max_Thread: int = 0,最大线程数,当为0返回的为单线程下载器对象
        Max_Rerty: int = 3,最大重试次数,默认为3,当该url因为请求失败引发一场,若没超出最大重试次数,将会返回对列底部,等待所有任务完成第一轮后再次请求,若超出,则移出对列,加入错误列表
        Time_Sleep: [float, int] = 0,每轮睡眠时间,当为单线成时,为每个url请求后的休眠时间,多线程时为每最大线程数后的休眠时间
        Request_Timeout: [float, int] = 10,请求超时时间,当超过这个时间后引发异常
        urls: list = None,urls只支持传入列表,传入其他类型将会引发异常
        headers: [dict[str, any], None] = None,请求头
        cookie: [dict[str, any], None] = None,cookie
        param: [dict[str, any], None] = None,param
        data: [dict[str, any], None] = None,data
        proxies: [dict[str, any], None] = None,代理
        verify: bool = True,verify
        path_: str = './',保存路径,就算是不存在该文件夹也会自动创建
        Name_Rules: str = 'default',命名规则,为default时,将自动切割url达到保存文件的文件名和类型,为title时,必须传入列表类型的titles,titles的长度必须与urls长度一致,titles为每个urls的文件名
        titles: [list, None] = None,titles若Name_Rules不为title,则不需传入,传入会报错
        type_: str = '',文件保存类型,适用于url中不含有文件类型的时候,会将所有下载的文件保存为该类型
        Save_Error_Log: bool = True,保存错误日志
        Show_Progress_Bar: bool = False,显示进度条
        Show_Error_Info: bool = True显示错误信息,当出现失败的请求时,会打印当前url,是否超过最大重试,错误原因
'''
download.start()  # 开始执行

# 保存到csv的function,返回字符串ok
spidertools.save_to_csv()
'''
        path_: str = '',文件路径,就算是不存在该文件夹也会自动创建
        file_name: str = '',文件名
        data: list = None,数据类型为[[列1,列2,列3],...]
        mode: str = 'w',模式为w时文件可以不存在,为a时文件必须存在
        encoding: str = 'utf-8',编码
        errors=None,error
        newline=''换行,可以理解为print的end参数
'''

# 保存到xlsx的function,返回字符串ok
spidertools.save_to_xlsx()
'''
        path_: str = '',文件路径,就算是不存在该文件夹也会自动创建
        file_name: str = '',文件名
        data: dict = None,数据类型为{'列名':[1,2,3],...}
        mode: str = 'w','w',模式为w时文件可以不存在,为a时文件必须存在
        sheet_name: str = "Sheet1",sheet名,指定写入哪一个sheet
        columns: any = None,同pandas
        header: bool = True,同pandas
        index: bool = True  同pandas
'''

# 保存到mysql的class,返回save_to_mysql对象,用完记得.close()
to_mysql = spidertools.save_to_mysql()
'''
        host: str = 'localhost',
        port: int = 3306,
        user: str = 'root',
        password: str = '',
        database: str = '',
        charset: str = 'utf8'
'''
to_mysql.insert()
'''
        table,表名
        data 数据{'列名':[1,2,3],...}
'''
to_mysql.close()

# 保存到redis的class,返回save_to_redis对象,用完记得.close()
to_redis = spidertools.save_to_redis()
'''
        host: str = 'localhost',
        port: int = 6379,
        database: str = '',
        password: str = '',
        pool_size: int = 10连接池大小
'''
to_redis.put()
'''
        key,
        value
'''
to_redis.close()

# 保存到mongodb的class,返回save_to_mongo对象,用完记得.close()
to_mongo = spidertools.save_to_mongo()
'''
        host: str = 'localhost',
        port: int = 6379,
        database: str = '',
        user: str = '',
        password: str = '',
        pool_size: int = 10,连接池大小
        collection: str = ''
'''
to_mongo.put()
'''
    data
'''
to_mongo.close()

# 打开js的function,返回的为execjs.compile()对象,可直接.call()调用
js=spidertools.open_js()
'''
        path_: str = '',文件路径
        encoding: str = 'utf-8',编码
        cwd: any = None
'''
js.call()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值