Để 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:
- 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.
- Chức năng
is_external
:- Kiểm tra xem một liên kết có ở bên ngoài hay không.
- 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.
- 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.
- 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!