Pour analyser une excellente base de forums pour Xrumer ou un logiciel similaire, il suffit de trouver un sujet sur lequel quelqu'un publie ses propres sujets (publicités) et relie ses sujets sur d'autres forums pour les renforcer.

En utilisant ce script, vous pouvez collecter leur base de données.

Exigences :

Installez les bibliothèques nécessaires en utilisant :

pip install requests beautifulsoup4

Scénario:

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}.")

Comment fonctionne le script :

  1. Fonction get_links:
    • Envoie une requête à l'URL donnée.
    • Analyse le HTML et collecte tous les liens.
  2. Fonction is_external:
    • Vérifie si un lien est externe.
  3. Fonction scrape_forums:
    • Supprime récursivement les forums à partir des URL données.
    • Collecte tous les liens externes.
  4. Fonction save_links_to_file:
    • Enregistre tous les liens externes collectés dans un fichier texte.
  5. Partie principale du scénario:
    • Définit les URL initiales du forum.
    • Démarre le processus de grattage.
    • Enregistre les liens collectés dans un fichier.

Mode d'emploi:

Insérez les URL initiales du forum dans le starting_urls liste.
Exécutez le script :

python script_name.py

Les liens collectés seront enregistrés dans le external_links.txt déposer.

Ce script peut être amélioré et adapté à des besoins spécifiques, tels que des règles d'analyse plus complexes ou une gestion des erreurs.

Commentaires (0)

Il n'y a pas encore de commentaires ici, vous pouvez être le premier !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *


Choisir et acheter une procuration

Proxies pour centres de données

Procurations tournantes

Proxies UDP

Approuvé par plus de 10 000 clients dans le monde

Client mandataire
Client mandataire
Client proxy flowch.ai
Client mandataire
Client mandataire
Client mandataire