Xrumer 또는 이와 유사한 소프트에 대한 훌륭한 포럼 기반을 분석하려면 누군가가 자신의 주제(광고)를 게시하고 해당 주제를 다른 포럼에 연결하여 강화하는 하나의 주제를 찾는 것으로 충분합니다.

이 스크립트를 사용하면 데이터베이스를 수집할 수 있습니다.

요구사항:

다음을 사용하여 필요한 라이브러리를 설치하십시오.

pip install requests beautifulsoup4

스크립트:

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

스크립트 작동 방식:

  1. 기능 get_links:
    • 지정된 URL로 요청을 보냅니다.
    • HTML을 구문 분석하고 모든 링크를 수집합니다.
  2. 기능 is_external:
    • 링크가 외부인지 확인합니다.
  3. 기능 scrape_forums:
    • 지정된 URL에서 시작하여 포럼을 반복적으로 스크랩합니다.
    • 모든 외부 링크를 수집합니다.
  4. 기능 save_links_to_file:
    • 수집된 모든 외부 링크를 텍스트 파일로 저장합니다.
  5. 스크립트의 주요 부분:
    • 초기 포럼 URL을 설정합니다.
    • 스크래핑 프로세스를 시작합니다.
    • 수집된 링크를 파일로 저장합니다.

사용 지침:

초기 포럼 URL을 starting_urls 목록.
스크립트를 실행합니다:

python script_name.py

수집된 링크는 다음 위치에 저장됩니다. external_links.txt 파일.

이 스크립트는 더 복잡한 구문 분석 규칙이나 오류 처리와 같은 특정 요구 사항에 맞게 개선되고 적용될 수 있습니다.

댓글 (0)

여기에는 아직 댓글이 없습니다. 첫 번째 댓글이 되실 수 있습니다!

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다


프록시 선택 및 구매

데이터센터 프록시

회전 프록시

UDP 프록시

전 세계 10,000명 이상의 고객이 신뢰함

대리 고객
대리 고객
대리 고객 flowch.ai
대리 고객
대리 고객
대리 고객