Chrismcdo90 commited on
Commit
b08de01
·
verified ·
1 Parent(s): a0f6eb7

I am trying to build a way to analyze, scan and scrape dealership contact information and have it return the contact info that I need to email and call. I should be able to enter in the dealerships front page URL and it should be able to find the staff page if there is one. A lot of times they have a link showing or sometimes it is hidden. For example, here is a dealer home page and staff page:

Browse files
Files changed (2) hide show
  1. README.md +8 -5
  2. index.html +207 -18
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Dealerdetective Pro
3
- emoji: 📚
4
- colorFrom: blue
5
- colorTo: gray
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: DealerDetective Pro 🕵️
3
+ colorFrom: green
4
+ colorTo: purple
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://deepsite.hf.co).
index.html CHANGED
@@ -1,19 +1,208 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>DealerDetective Pro - Find Dealership Contacts</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.net.min.js"></script>
12
+ <style>
13
+ .gradient-bg {
14
+ background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%);
15
+ }
16
+ .card-hover {
17
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
18
+ }
19
+ .card-hover:hover {
20
+ transform: translateY(-5px);
21
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
22
+ }
23
+ .input-focus:focus {
24
+ box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
25
+ }
26
+ </style>
27
+ </head>
28
+ <body class="min-h-screen gradient-bg text-white" id="vanta-bg">
29
+ <div class="container mx-auto px-4 py-12">
30
+ <!-- Header -->
31
+ <header class="mb-12 text-center">
32
+ <h1 class="text-4xl md:text-5xl font-bold mb-4">Dealer<span class="text-blue-300">Detective</span> Pro</h1>
33
+ <p class="text-xl text-blue-100 max-w-2xl mx-auto">Uncover hidden dealership contacts with our powerful scraping tool</p>
34
+ </header>
35
+
36
+ <!-- Main Card -->
37
+ <div class="max-w-3xl mx-auto bg-gray-800 bg-opacity-80 rounded-xl shadow-2xl overflow-hidden card-hover p-6 backdrop-blur-sm">
38
+ <div class="flex items-center mb-6">
39
+ <i data-feather="search" class="w-8 h-8 text-blue-300 mr-3"></i>
40
+ <h2 class="text-2xl font-semibold">Dealership URL Scanner</h2>
41
+ </div>
42
+
43
+ <form id="scanForm" class="space-y-6">
44
+ <div>
45
+ <label for="dealerUrl" class="block text-sm font-medium text-blue-100 mb-2">Enter Dealership Website URL</label>
46
+ <div class="flex">
47
+ <input
48
+ type="url"
49
+ id="dealerUrl"
50
+ placeholder="https://www.example.com"
51
+ class="input-focus flex-grow px-4 py-3 rounded-l-lg bg-gray-700 text-white placeholder-gray-400 focus:outline-none"
52
+ required
53
+ >
54
+ <button
55
+ type="submit"
56
+ class="bg-blue-500 hover:bg-blue-600 px-6 py-3 rounded-r-lg font-medium transition-colors duration-200 flex items-center"
57
+ >
58
+ <i data-feather="scan" class="w-5 h-5 mr-2"></i> Scan
59
+ </button>
60
+ </div>
61
+ </div>
62
+
63
+ <div class="flex items-center">
64
+ <input id="deepScan" type="checkbox" class="h-4 w-4 text-blue-500 rounded">
65
+ <label for="deepScan" class="ml-2 text-sm text-blue-100">Enable deep scan (finds hidden staff pages)</label>
66
+ </div>
67
+ </form>
68
+
69
+ <div id="loadingIndicator" class="hidden mt-6">
70
+ <div class="flex items-center">
71
+ <div class="animate-spin rounded-full h-8 w-8 border-b-2 border-blue-400"></div>
72
+ <span class="ml-3 text-blue-200">Scanning website structure...</span>
73
+ </div>
74
+ </div>
75
+
76
+ <div id="resultsSection" class="hidden mt-8">
77
+ <h3 class="text-xl font-medium mb-4 flex items-center">
78
+ <i data-feather="users" class="w-5 h-5 mr-2 text-blue-300"></i>
79
+ Found Contacts
80
+ </h3>
81
+ <div class="bg-gray-900 rounded-lg p-4">
82
+ <div id="contactsList" class="space-y-4">
83
+ <!-- Results will be inserted here -->
84
+ </div>
85
+ </div>
86
+ </div>
87
+ </div>
88
+
89
+ <!-- Features Section -->
90
+ <div class="mt-16 grid md:grid-cols-3 gap-8 max-w-6xl mx-auto">
91
+ <div class="bg-gray-800 bg-opacity-80 p-6 rounded-xl card-hover">
92
+ <div class="w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center mb-4">
93
+ <i data-feather="link" class="w-6 h-6"></i>
94
+ </div>
95
+ <h3 class="text-xl font-semibold mb-2">URL Analysis</h3>
96
+ <p class="text-blue-100">Automatically detects dealership website structure to find staff pages</p>
97
+ </div>
98
+ <div class="bg-gray-800 bg-opacity-80 p-6 rounded-xl card-hover">
99
+ <div class="w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center mb-4">
100
+ <i data-feather="eye" class="w-6 h-6"></i>
101
+ </div>
102
+ <h3 class="text-xl font-semibold mb-2">Hidden Page Detection</h3>
103
+ <p class="text-blue-100">Finds even unlinked staff pages through smart pattern recognition</p>
104
+ </div>
105
+ <div class="bg-gray-800 bg-opacity-80 p-6 rounded-xl card-hover">
106
+ <div class="w-12 h-12 bg-blue-500 rounded-full flex items-center justify-center mb-4">
107
+ <i data-feather="download" class="w-6 h-6"></i>
108
+ </div>
109
+ <h3 class="text-xl font-semibold mb-2">Export Contacts</h3>
110
+ <p class="text-blue-100">Download all found contacts in CSV format for easy CRM integration</p>
111
+ </div>
112
+ </div>
113
+ </div>
114
+
115
+ <script>
116
+ // Initialize Vanta.js background
117
+ VANTA.NET({
118
+ el: "#vanta-bg",
119
+ mouseControls: true,
120
+ touchControls: true,
121
+ gyroControls: false,
122
+ minHeight: 200.00,
123
+ minWidth: 200.00,
124
+ scale: 1.00,
125
+ scaleMobile: 1.00,
126
+ color: 0x3b82f6,
127
+ backgroundColor: 0x111827,
128
+ points: 12.00,
129
+ maxDistance: 24.00,
130
+ spacing: 18.00
131
+ });
132
+
133
+ // Form submission handler
134
+ document.getElementById('scanForm').addEventListener('submit', function(e) {
135
+ e.preventDefault();
136
+ const url = document.getElementById('dealerUrl').value;
137
+ const deepScan = document.getElementById('deepScan').checked;
138
+
139
+ // Show loading indicator
140
+ document.getElementById('loadingIndicator').classList.remove('hidden');
141
+ document.getElementById('resultsSection').classList.add('hidden');
142
+
143
+ // Simulate API call with timeout
144
+ setTimeout(() => {
145
+ document.getElementById('loadingIndicator').classList.add('hidden');
146
+ document.getElementById('resultsSection').classList.remove('hidden');
147
+
148
+ // This would be replaced with actual API call
149
+ displaySampleResults();
150
+ }, 2500);
151
+ });
152
+
153
+ // Sample results for demo purposes
154
+ function displaySampleResults() {
155
+ const contactsList = document.getElementById('contactsList');
156
+ contactsList.innerHTML = `
157
+ <div class="bg-gray-800 p-4 rounded-lg">
158
+ <div class="flex justify-between items-center mb-2">
159
+ <h4 class="font-medium">John Smith</h4>
160
+ <div class="flex space-x-2">
161
+ <span class="bg-blue-500 text-xs px-2 py-1 rounded">Sales</span>
162
+ <span class="bg-green-500 text-xs px-2 py-1 rounded">Manager</span>
163
+ </div>
164
+ </div>
165
+ <div class="text-sm text-gray-300">
166
+ <div class="flex items-center mb-1">
167
+ <i data-feather="mail" class="w-4 h-4 mr-2"></i>
168
+ j.smith@dealership.com
169
+ </div>
170
+ <div class="flex items-center">
171
+ <i data-feather="phone" class="w-4 h-4 mr-2"></i>
172
+ (555) 123-4567
173
+ </div>
174
+ </div>
175
+ </div>
176
+ <div class="bg-gray-800 p-4 rounded-lg">
177
+ <div class="flex justify-between items-center mb-2">
178
+ <h4 class="font-medium">Sarah Johnson</h4>
179
+ <div class="flex space-x-2">
180
+ <span class="bg-blue-500 text-xs px-2 py-1 rounded">Sales</span>
181
+ </div>
182
+ </div>
183
+ <div class="text-sm text-gray-300">
184
+ <div class="flex items-center mb-1">
185
+ <i data-feather="mail" class="w-4 h-4 mr-2"></i>
186
+ s.johnson@dealership.com
187
+ </div>
188
+ <div class="flex items-center">
189
+ <i data-feather="phone" class="w-4 h-4 mr-2"></i>
190
+ (555) 987-6543
191
+ </div>
192
+ </div>
193
+ </div>
194
+ <div class="flex justify-end mt-4">
195
+ <button class="bg-blue-500 hover:bg-blue-600 px-4 py-2 rounded-lg text-sm font-medium flex items-center">
196
+ <i data-feather="download" class="w-4 h-4 mr-2"></i>
197
+ Export All Contacts
198
+ </button>
199
+ </div>
200
+ `;
201
+ feather.replace();
202
+ }
203
+
204
+ // Initialize feather icons
205
+ feather.replace();
206
+ </script>
207
+ </body>
208
  </html>