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}.")
اسکرپٹ کیسے کام کرتا ہے:
- فنکشن
get_links
:- دیئے گئے یو آر ایل کو درخواست بھیجتا ہے۔
- HTML کو پارس کرتا ہے اور تمام لنکس کو جمع کرتا ہے۔
- فنکشن
is_external
:- چیک کرتا ہے کہ آیا کوئی لنک بیرونی ہے۔
- فنکشن
scrape_forums
:- دیئے گئے یو آر ایل سے شروع ہونے والے فورمز کو بار بار سکریپ کرتا ہے۔
- تمام بیرونی روابط جمع کرتا ہے۔
- فنکشن
save_links_to_file
:- ٹیکسٹ فائل میں جمع کیے گئے تمام بیرونی لنکس کو محفوظ کرتا ہے۔
- اسکرپٹ کا اہم حصہ:
- ابتدائی فورم یو آر ایل سیٹ کرتا ہے۔
- سکریپنگ کا عمل شروع ہوتا ہے۔
- جمع کردہ لنکس کو فائل میں محفوظ کرتا ہے۔
ہدایات براے استعمال:
فورم کے ابتدائی URLs میں داخل کریں۔ starting_urls
فہرست
اسکرپٹ چلائیں:
python script_name.py
جمع کردہ لنکس کو محفوظ کیا جائے گا۔ external_links.txt
فائل
اس اسکرپٹ کو بہتر کیا جا سکتا ہے اور اسے مخصوص ضروریات کے مطابق ڈھالا جا سکتا ہے، جیسے زیادہ پیچیدہ پارسنگ کے اصول یا غلطی سے نمٹنے۔
تبصرے (0)
یہاں ابھی تک کوئی تبصرہ نہیں ہے، آپ پہلے ہو سکتے ہیں!