-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathretrieve_detailed.py
More file actions
78 lines (64 loc) · 1.97 KB
/
retrieve_detailed.py
File metadata and controls
78 lines (64 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
"""
Written by Çınar Çelik.
Turkey - 2020
"""
import re
import socket
import sqlite3
import ssl
import urllib.error
import urllib.parse
import urllib.request
from http.server import BaseHTTPRequestHandler
from timeit import default_timer as timer
from bs4 import BeautifulSoup
timer_start = timer()
# Ignore SSL certificate errors:
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
conn_1 = sqlite3.connect('data_raw.sqlite')
cur_1 = conn_1.cursor()
cur_1.execute('''SELECT Designs.design_name,
Awards.award_type,
Categories.category_name,
Designers.designer_name,
Studios.studio_name,
Designs.design_page,
Designs.designer_page
FROM Designs JOIN Awards JOIN Categories JOIN Designers JOIN Studios
ON Designs.award_type_id = Awards.id
AND Designs.category_id = Categories.id
AND Designs.designer_id = Designers.id
AND Designs.studio_id = Studios.id''')
conn_2 = sqlite3.connect('data_detailed.sqlite')
cur_2 = conn_2.cursor()
cur_2.executescript('''
DROP TABLE IF EXISTS Designs;
DROP TABLE IF EXISTS Designers;
CREATE TABLE Designs (
id INTEGER NOT NULL PRIMARY KEY UNIQUE,
design_name TEXT UNIQUE,
award_type_id INTEGER,
category_id INTEGER,
design_image_link TEXT,
design_page TEXT,
designer_id INTEGER,
designer_page TEXT,
studio_id INTEGER
);
CREATE TABLE Designers (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT UNIQUE,
designer_name TEXT UNIQUE
);
''')
for row in cur_1:
print(row)
award_type = row[1]
category_name = row[2]
design_page = row[5]
designer_page = row[6]
cur_1.close()
conn_2.commit()
timer_end = timer()
print(f"Code executed in {timer_end - timer_start} seconds.")