This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
zhuyujia-webhopper/DBopt/service2db.py
little_stone bd2d50cf35 code update
2022-05-05 20:41:28 +08:00

90 lines
4.1 KiB
Python

import pandas as pd
import pymysql
from sqlalchemy import create_engine
class Service2DB:
"""
+--------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| host | varchar(255) | YES | | NULL | |
| resource_url | text | YES | | NULL | |
| resource_type | int(11) | NO | | NULL | |
| is_third_party | int(11) | YES | | NULL | |
| parent | text | NO | | NULL | |
| is_eval_node | int(11) | NO | | NULL | |
| node_creation | int(11) | NO | | NULL | |
| node_insertion | int(11) | NO | | NULL | |
| node_removal | int(11) | NO | | NULL | |
| node_attach_later | int(11) | NO | | NULL | |
| attr_addition | int(11) | NO | | NULL | |
| attr_modification | int(11) | NO | | NULL | |
| attr_removal | int(11) | NO | | NULL | |
| attr_style_text_addition | int(11) | NO | | NULL | |
| attr_style_removal | int(11) | NO | | NULL | |
| net_script_req | int(11) | NO | | NULL | |
| net_image_req | int(11) | NO | | NULL | |
| net_iframe_req | int(11) | NO | | NULL | |
| net_xmlhttp_req | int(11) | NO | | NULL | |
| net_Link_req | int(11) | NO | | NULL | |
| net_video_req | int(11) | NO | | NULL | |
| score | float | NO | | NULL | |
| category | varchar(255) | NO | | NULL | |
| website | varchar(255) | NO | | NULL | |
+--------------------------+--------------+------+-----+---------+----------------+
"""
def __init__(self):
self.user = "root"
self.host = "localhost"
self.passwd = "121xiaoshitou121"
self.database = "serviceDependency"
self.table = "shandong"
self.engine = self.connect()
self.dat = {
"host": [],
"resource_url": [],
"resource_type": [],
"is_third_party": [],
"parent": [],
"is_eval_node": [],
"node_creation": [],
"node_insertion": [],
"node_removal": [],
"node_attach_later": [],
"attr_addition": [],
"attr_modification": [],
"attr_removal": [],
"attr_style_text_addition": [],
"attr_style_removal": [],
"net_script_req": [],
"net_image_req": [],
"net_iframe_req": [],
"net_xmlhttp_req": [],
"net_Link_req": [],
"net_video_req": [],
"score": [],
"category": [],
"website": [],
}
def connect(self):
return create_engine('mysql+pymysql://{}:{}@{}:3306/{}'
.format(self.user, self.passwd, self.host, self.database))
def readDB(self, sql=None):
sql = "select * from {}".format(self.table)
df_read = pd.read_sql_query(sql, self.engine)
return df_read
def writeDB(self, data):
df_write = pd.DataFrame(data)
df_write.to_sql(self.table, self.engine, index=False, if_exists="append")