Để phân tích cơ sở diễn đàn xuất sắc dành cho Xrumer hoặc phần mềm tương tự, chỉ cần tìm một chủ đề trong đó ai đó đang xuất bản chủ đề (quảng cáo) của riêng họ và liên kết các chủ đề của họ trên các diễn đàn khác để củng cố chúng là đủ.

Sử dụng tập lệnh này, bạn có thể thu thập cơ sở dữ liệu của họ.

Yêu cầu:

Cài đặt các thư viện cần thiết bằng cách sử dụng:

pip install requests beautifulsoup4

Kịch bản:

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

Kịch bản hoạt động như thế nào:

  1. Chức năng get_links:
    • Gửi yêu cầu tới URL đã cho.
    • Phân tích HTML và thu thập tất cả các liên kết.
  2. Chức năng is_external:
    • Kiểm tra xem một liên kết có ở bên ngoài hay không.
  3. Chức năng scrape_forums:
    • Xóa đệ quy các diễn đàn bắt đầu từ các URL đã cho.
    • Thu thập tất cả các liên kết bên ngoài.
  4. Chức năng save_links_to_file:
    • Lưu tất cả các liên kết bên ngoài được thu thập vào một tệp văn bản.
  5. Phần chính của kịch bản:
    • Đặt URL diễn đàn ban đầu.
    • Bắt đầu quá trình cạo.
    • Lưu các liên kết đã thu thập vào một tập tin.

Hướng dẫn sử dụng:

Chèn URL diễn đàn ban đầu vào starting_urls danh sách.
Chạy tập lệnh:

python script_name.py

Các liên kết được thu thập sẽ được lưu vào external_links.txt tài liệu.

Tập lệnh này có thể được cải thiện và điều chỉnh cho phù hợp với các nhu cầu cụ thể, chẳng hạn như các quy tắc phân tích cú pháp phức tạp hơn hoặc xử lý lỗi.

Bình luận (0)

Chưa có bình luận nào ở đây, bạn có thể là người đầu tiên!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *


Chọn và mua proxy

Proxy trung tâm dữ liệu

Proxy luân phiên

Proxy UDP

Được tin cậy bởi hơn 10000 khách hàng trên toàn thế giới

Khách hàng ủy quyền
Khách hàng ủy quyền
Khách hàng proxy flowch.ai
Khách hàng ủy quyền
Khách hàng ủy quyền
Khách hàng ủy quyền