Xrumer veya benzeri bir yazılıma yönelik mükemmel bir forum tabanını ayrıştırmak için, birisinin kendi konularını (reklamlarını) yayınladığı ve onları güçlendirmek için konularını diğer forumlara bağladığı bir konu bulmak yeterlidir.

Bu betiği kullanarak veritabanlarını toplayabilirsiniz.

Gereksinimler:

Aşağıdakileri kullanarak gerekli kitaplıkları yükleyin:

pip install requests beautifulsoup4

Senaryo:

import requests
from bs4 import BeautifulSoup
from urllib.parse import urlparse, urljoin
import time

def is_external(url, base_url):
    return urlparse(url).netloc != urlparse(base_url).netloc

def get_links(url):
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
    try:
        response = requests.get(url, headers=headers, timeout=10)
        response.raise_for_status()
        soup = BeautifulSoup(response.text, 'html.parser')
        links = [a.get('href') for a in soup.find_all('a', href=True)]
        return links
    except requests.RequestException as e:
        print(f"Failed to fetch {url}: {e}")
        return []

def scrape_forums(starting_urls, max_depth=2):
    visited = set()
    external_links = set()
    
    def scrape(url, depth):
        if url in visited or depth > max_depth:
            return
        print(f"Scraping {url} at depth {depth}")
        visited.add(url)
        
        links = get_links(url)
        for link in links:
            full_url = urljoin(url, link)
            if is_external(full_url, url):
                external_links.add(full_url)
            else:
                scrape(full_url, depth + 1)
    
    for url in starting_urls:
        scrape(url, 1)
    
    return external_links

def save_links_to_file(links, filename):
    with open(filename, 'w') as f:
        for link in links:
            f.write(link + '\n')

if __name__ == '__main__':
    starting_urls = [
        # Add your starting forum URLs here
        'http://example-forum.com/topic1',
        'http://example-forum.com/topic2'
    ]
    filename = 'external_links.txt'
    
    external_links = scrape_forums(starting_urls)
    save_links_to_file(external_links, filename)
    
    print(f"Collected {len(external_links)} external links. Saved to {filename}.")

Komut dosyası nasıl çalışır:

  1. Fonksiyon get_links:
    • Verilen URL'ye bir istek gönderir.
    • HTML'yi ayrıştırır ve tüm bağlantıları toplar.
  2. Fonksiyon is_external:
    • Bir bağlantının harici olup olmadığını kontrol eder.
  3. Fonksiyon scrape_forums:
    • Verilen URL'lerden başlayarak forumları yinelemeli olarak sıyırır.
    • Tüm dış bağlantıları toplar.
  4. Fonksiyon save_links_to_file:
    • Toplanan tüm harici bağlantıları bir metin dosyasına kaydeder.
  5. Senaryonun ana kısmı:
    • Başlangıç forum URL'lerini ayarlar.
    • Kazıma işlemini başlatır.
    • Toplanan bağlantıları bir dosyaya kaydeder.

Kullanım için talimatlar:

İlk forum URL'lerini şuraya ekleyin: starting_urls liste.
Komut dosyasını çalıştırın:

python script_name.py

Toplanan bağlantılar şuraya kaydedilecektir: external_links.txt dosya.

Bu komut dosyası, daha karmaşık ayrıştırma kuralları veya hata işleme gibi belirli ihtiyaçlara göre geliştirilebilir ve uyarlanabilir.

Yorumlar (0)

Burada henüz yorum yok, ilk siz olabilirsiniz!

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


Proxy Seçin ve Satın Alın

Veri Merkezi Proxyleri

Dönen Proxyler

UDP Proxyleri

Dünya Çapında 10.000'den Fazla Müşterinin Güvendiği

Vekil Müşteri
Vekil Müşteri
Vekil Müşteri flowch.ai
Vekil Müşteri
Vekil Müşteri
Vekil Müşteri