Spaces:
Running
Running
dodaj ai model koji ce zaobici sve zabrane da bi scraper radio bez problema - Follow Up Deployment
Browse files- index.html +61 -1
index.html
CHANGED
|
@@ -87,6 +87,10 @@
|
|
| 87 |
<input type="checkbox" id="sendFriendRequests" class="h-4 w-4 text-purple-600 focus:ring-purple-500 border-gray-300 rounded">
|
| 88 |
<label for="sendFriendRequests" class="ml-2 text-gray-700">Send Friend Requests</label>
|
| 89 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 90 |
</div>
|
| 91 |
</div>
|
| 92 |
|
|
@@ -338,8 +342,37 @@
|
|
| 338 |
showAlert('Results cleared.', 'info');
|
| 339 |
});
|
| 340 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 341 |
// Process URLs one by one
|
| 342 |
function processNextUrl(urls) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 343 |
if (!isScraping || currentIndex >= urls.length) {
|
| 344 |
// Finished all URLs
|
| 345 |
isScraping = false;
|
|
@@ -360,8 +393,13 @@
|
|
| 360 |
return;
|
| 361 |
}
|
| 362 |
|
| 363 |
-
// Simulate scraping
|
| 364 |
setTimeout(() => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 365 |
processedPages++;
|
| 366 |
|
| 367 |
// Extract data (simulated)
|
|
@@ -411,7 +449,29 @@
|
|
| 411 |
}
|
| 412 |
|
| 413 |
// Simulate scrolling behavior
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 414 |
function simulateScrolling(url) {
|
|
|
|
|
|
|
|
|
|
| 415 |
let scrollCount = 0;
|
| 416 |
const maxScrolls = 3;
|
| 417 |
|
|
|
|
| 87 |
<input type="checkbox" id="sendFriendRequests" class="h-4 w-4 text-purple-600 focus:ring-purple-500 border-gray-300 rounded">
|
| 88 |
<label for="sendFriendRequests" class="ml-2 text-gray-700">Send Friend Requests</label>
|
| 89 |
</div>
|
| 90 |
+
<div class="flex items-center">
|
| 91 |
+
<input type="checkbox" id="aiBypass" class="h-4 w-4 text-purple-600 focus:ring-purple-500 border-gray-300 rounded" checked>
|
| 92 |
+
<label for="aiBypass" class="ml-2 text-gray-700">AI Anti-Detection</label>
|
| 93 |
+
</div>
|
| 94 |
</div>
|
| 95 |
</div>
|
| 96 |
|
|
|
|
| 342 |
showAlert('Results cleared.', 'info');
|
| 343 |
});
|
| 344 |
|
| 345 |
+
// AI Bypass techniques
|
| 346 |
+
function applyAIBypass() {
|
| 347 |
+
const techniques = [
|
| 348 |
+
'Rotating User-Agents',
|
| 349 |
+
'Request Throttling',
|
| 350 |
+
'IP Rotation',
|
| 351 |
+
'Mouse Movement Simulation',
|
| 352 |
+
'Randomized Click Patterns',
|
| 353 |
+
'Human-like Typing Speed',
|
| 354 |
+
'Page View Duration Variation'
|
| 355 |
+
];
|
| 356 |
+
|
| 357 |
+
// Select random techniques to apply
|
| 358 |
+
const selected = [];
|
| 359 |
+
while (selected.length < 3) {
|
| 360 |
+
const tech = techniques[Math.floor(Math.random() * techniques.length)];
|
| 361 |
+
if (!selected.includes(tech)) selected.push(tech);
|
| 362 |
+
}
|
| 363 |
+
|
| 364 |
+
console.log('Applying AI bypass techniques:', selected.join(', '));
|
| 365 |
+
return selected;
|
| 366 |
+
}
|
| 367 |
+
|
| 368 |
// Process URLs one by one
|
| 369 |
function processNextUrl(urls) {
|
| 370 |
+
// Apply AI bypass if enabled
|
| 371 |
+
const aiBypassEnabled = document.getElementById('aiBypass').checked;
|
| 372 |
+
if (aiBypassEnabled) {
|
| 373 |
+
const techniques = applyAIBypass();
|
| 374 |
+
showAlert('AI bypass active: ' + techniques.join(', '), 'info');
|
| 375 |
+
}
|
| 376 |
if (!isScraping || currentIndex >= urls.length) {
|
| 377 |
// Finished all URLs
|
| 378 |
isScraping = false;
|
|
|
|
| 393 |
return;
|
| 394 |
}
|
| 395 |
|
| 396 |
+
// Simulate scraping with AI bypass behaviors
|
| 397 |
setTimeout(() => {
|
| 398 |
+
// Add random delays if AI bypass is enabled
|
| 399 |
+
if (document.getElementById('aiBypass').checked) {
|
| 400 |
+
const extraDelay = Math.floor(Math.random() * 3000);
|
| 401 |
+
await new Promise(resolve => setTimeout(resolve, extraDelay));
|
| 402 |
+
}
|
| 403 |
processedPages++;
|
| 404 |
|
| 405 |
// Extract data (simulated)
|
|
|
|
| 449 |
}
|
| 450 |
|
| 451 |
// Simulate scrolling behavior
|
| 452 |
+
function simulateHumanMouseMovement() {
|
| 453 |
+
const movements = [
|
| 454 |
+
{x: 100, y: 200},
|
| 455 |
+
{x: 150, y: 180},
|
| 456 |
+
{x: 130, y: 220},
|
| 457 |
+
{x: 110, y: 210}
|
| 458 |
+
];
|
| 459 |
+
|
| 460 |
+
movements.forEach((pos, i) => {
|
| 461 |
+
setTimeout(() => {
|
| 462 |
+
const mouseEvent = new MouseEvent('mousemove', {
|
| 463 |
+
clientX: pos.x + Math.random() * 20,
|
| 464 |
+
clientY: pos.y + Math.random() * 20
|
| 465 |
+
});
|
| 466 |
+
document.dispatchEvent(mouseEvent);
|
| 467 |
+
}, i * 500);
|
| 468 |
+
});
|
| 469 |
+
}
|
| 470 |
+
|
| 471 |
function simulateScrolling(url) {
|
| 472 |
+
if (document.getElementById('aiBypass').checked) {
|
| 473 |
+
simulateHumanMouseMovement();
|
| 474 |
+
}
|
| 475 |
let scrollCount = 0;
|
| 476 |
const maxScrolls = 3;
|
| 477 |
|