برنامه نویسی

چگونه هوش مصنوعی در ایجاد نقص وب: تکنیک ها و نمونه های کد متحول می شود

خراش وب سنتی برای استخراج داده ها به قوانین از پیش تعریف شده (به عنوان مثال ، انتخاب کنندگان CSS یا XPath) متکی است. اما هرچه وب سایت ها پیچیده تر می شوند-با چیدمان پویا ، سیستم های ضد بوته و داده های بدون ساختار-AI در حال تبدیل شدن به یک تغییر دهنده بازی است. از تجزیه متن کثیف گرفته تا دور زدن Captchas ، هوش مصنوعی به Scrapers این امکان را می دهد تا سازگار ، یادگیری و مقیاس شوند.

در این وبلاگ ، ما روشهای عملی برای ادغام هوش مصنوعی را در گردش کار در وب ، با نمونه های کد کامل می کنیم.


چرا از هوش مصنوعی در خراش وب استفاده می کنید؟

  1. رسیدگی به محتوای پویا: AI می تواند چیدمان های بصری (از طریق دید رایانه) یا متن بدون ساختار (از طریق NLP) را تفسیر کند.
  2. فرار ضد ربات: برای جلوگیری از تشخیص ، از الگوهای رفتاری انسان تقلید می کند.
  3. تجزیه و تحلیل داده ها: بینش را از متن ، تصاویر یا PDF با فرم آزاد استخراج کنید.
  4. خراش سازگار: خراشگرهای خود درمانی که با تغییرات وب سایت تنظیم می شوند.

1. تشخیص عناصر با قدرت AI (دید رایانه)

مورد استفاده: یک وب سایت را بدون ساختار HTML سازگار بکشید.

ابزار: نمایشنامه نویس + yolo (مدل تشخیص شی).

# Install dependencies: pip install playwright torch ultralytics numpy  
from playwright.sync_api import sync_playwright
from PIL import Image
import numpy as np
from ultralytics import YOLO

def detect_elements():
    model = YOLO("yolov8n.pt")  # Pre-trained model
    with sync_playwright() as p:
        browser = p.chromium.launch()
        page = browser.new_page()
        page.goto("https://example.com")

        # Capture screenshot
        page.screenshot(path="screenshot.png")
        img = Image.open("screenshot.png")

        # Detect elements (e.g., buttons, text)
        results = model(img)
        boxes = results[0].boxes.xyxy  # Bounding boxes

        # Extract coordinates of detected elements
        for box in boxes:
            x1, y1, x2, y2 = box.numpy()
            print(f"Detected element at position: ({x1}, {y1}) to ({x2}, {y2})")

        browser.close()

detect_elements()
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

چگونه کار می کند:

  • نمایشنامه نویس تصویری از صفحه را ضبط می کند.
  • Yolo عناصر UI (دکمه ها ، بلوک های متن) را در تصویر تشخیص می دهد.
  • برای تعامل با عناصر از مختصات استفاده کنید (به عنوان مثال ، با کلیک بر روی یک دکمه).

2. پردازش زبان طبیعی (NLP) برای داده های بدون ساختار

مورد استفاده: داده های ساختاری را از متن بدون ساختار استخراج کنید (به عنوان مثال ، بررسی ها ، اخبار).

ابزار: پایتون + ترانسفورماتور (بغل کردن صورت).

# Install: pip install transformers requests beautifulsoup4  
from transformers import pipeline
import requests
from bs4 import BeautifulSoup

# Scrape raw text
url = "https://example-news.com/article"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
article_text = soup.find("div", class_="article-body").text

# Use NLP to extract entities (people, organizations)
ner_pipeline = pipeline("ner", model="dslim/bert-base-NER")
entities = ner_pipeline(article_text)

# Filter and print entities
for entity in entities:
    if entity["score"] > 0.9:
        print(f"{entity['word']} ({entity['entity']})")
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

خروجی:

Apple (ORG)  
Elon Musk (PER)  
New York (LOC)  
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


3. دور زدن CAPTCHAS با AI

مورد استفاده: CAPTCHAS را به طور خودکار در حین خراش حل کنید.

ابزار: نمایشنامه نویس + 2Captcha API.

const { chromium } = require('playwright');
const axios = require('axios');

(async () => {
  const browser = await chromium.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://website-with-captcha.com');

  // Solve CAPTCHA using 2Captcha API
  const captchaImage = await page.$eval('#captcha-image', el => el.src);
  const apiKey = 'YOUR_2CAPTCHA_KEY';

  // Submit CAPTCHA to 2Captcha for solving
  const { data: { requestId } } = await axios.post(
    `https://2captcha.com/in.php?key=${apiKey}&method=base64&body=${captchaImage}`
  );

  // Poll for solution
  let solution;
  while (!solution) {
    const { data } = await axios.get(
      `https://2captcha.com/res.php?key=${apiKey}&action=get&id=${requestId}`
    );
    if (data.includes('OK')) {
      solution = data.split('|')[1];
      break;
    }
    await new Promise(resolve => setTimeout(resolve, 5000));
  }

  // Submit solved CAPTCHA
  await page.fill('#captcha-input', solution);
  await page.click('#submit');
  await browser.close();
})();
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


4. خراش سازگار با هوش مصنوعی خود درمانی

مورد استفاده: هنگام تغییر وب سایت ها ، به طور خودکار انتخاب کننده ها را تنظیم کنید.

ابزار: Python + Scropy + Learning Machine.

# Simplified example: Train a model to predict CSS selectors
from sklearn.ensemble import RandomForestClassifier
import pandas as pd

# Sample training data (features: HTML attributes, label: selector)
training_data = pd.DataFrame([
    {"tag": "div", "class": "price", "id": "price", "selector": ".price"},
    {"tag": "h1", "class": "title", "id": None, "selector": "h1.title"},
])

X = training_data[["tag", "class", "id"]]
y = training_data["selector"]

model = RandomForestClassifier()
model.fit(pd.get_dummies(X), y)

# Predict selector for new element
new_element = {"tag": "span", "class": "price-new", "id": None}
predicted_selector = model.predict(pd.get_dummies(pd.DataFrame([new_element])))[0]
print(f"Predicted selector: {predicted_selector}")
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید


ملاحظات اخلاقی

  • شفافیت: در صورت نیاز به شرایط وب سایت ، استفاده از هوش مصنوعی را فاش کنید.
  • تعصب: اطمینان حاصل کنید که مدل های NLP در داده های خراشیده تعصب را تحریک نمی کنند.
  • خلوت: از خراش داده های شخصی خودداری کنید ، حتی اگر AI این امکان را فراهم کند.

آینده هوش مصنوعی در خراش دادن

  1. مدل های بینایی زبان (VLMS): داده ها را مستقیماً از تصاویر/pdfs استفاده کنید.
  2. یادگیری تقویت کننده: رباتها را برای حرکت در وب سایت هایی مانند انسان آموزش دهید.
  3. یادگیری صفر: داده ها را بدون نمونه های از پیش برچسب استخراج کنید.

پایان

هوش مصنوعی ، خراش وب را از یک فرآیند استاتیک و مبتنی بر قانون به یک سیستم پویا و سازگار تبدیل می کند. این که آیا شما در حال تجزیه و تحلیل متن بدون ساختار ، فرار از سیستم های ضد بوته یا ساختن اسکراپرهای خود درمانی هستید ، ابزارهای هوش مصنوعی مانند بینایی رایانه و NLP برای استخراج داده های مدرن ضروری هستند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا