某电竞赛事网站(JS加载)数据模型+Sqlite3数据库练习(入门小白级python爬虫)

import requests  # 调用申请模块
import json  # 调用json数据模块
import sqlite3  # 引入数据库
from func_items import Esport_Sql, Esport_User  # 从功能模块调用电竞圈数据库函数


class E_Sport(object):
    '''一个电竞圈的数据模型'''

    def __init__(self):
    '''定义数据模型的基本属性'''
        self.url = 'http://api2.dianjingquan.cn:3004/match/query/list?page=1&page_count=40&key=&status=all&game_id=0'#初始网址
        self.headers = {
            'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
        }#请求头
        self.create_table()#调用静态函数,创建数据库表
        self.document = ''#定义获取到的网页源码转换后的json格式数据,初始值为空
        self.response = '' #定义返回的网页源代码数据,初始值为空
        self.error_count = 0 #定义错误次数初始值为0

    @staticmethod  # 静态函数装饰器
    def create_table():
        '''创建数据库表的静态函数'''
        database = sqlite3.connect('E_Sport.db')  # 连接数据库
        cursor = database.cursor()  # 启动游标
        sql_01 = "CREATE TABLE IF NOT EXISTS E_Sport_Match(m_id INTEGER PRIMARY KEY,m_title VARCHAR (20),m_name VARCHAR (10),m_date VARCHAR (30),m_reward VARCHAR (10),game_rules TEXT,details TEXT,m_max_count VARCHAR (10),m_count VARCHAR (10),m_img CHAR,m_url CHAR )"  # 创建数据表,存放赛事信息
        cursor.execute(sql_01)#执行sql语句
        sql_02 = "CREATE TABLE IF NOT EXISTS E_Sport_User(user_id INTEGER  PRIMARY KEY ,user_name VARCHAR (10),add_time VARCHAR (20),mobile VARCHAR (20))"  # 创建数据表,存放玩家信息
        cursor.execute(sql_02)  # 执行sql语句
        cursor.close()  # 关闭游标
        database.close()  # 关闭数据库

    def get_html(self, is_list=True):
        '''采集函数 发请求 拿数据'''
        try:  # 调用异常捕获,以防程序报错
            response = requests.get(self.url, headers=self.headers)  # 发请求 拿回数据
            self.response = response.text #text
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值