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
:- दिए गए URL पर अनुरोध भेजता है.
- HTML को पार्स करता है और सभी लिंक एकत्रित करता है।
- समारोह
is_external
:- जाँचता है कि लिंक बाहरी है या नहीं.
- समारोह
scrape_forums
:- दिए गए URL से प्रारंभ करके फ़ोरम को पुनरावर्ती रूप से स्क्रैप करता है।
- सभी बाहरी लिंक एकत्रित करता है.
- समारोह
save_links_to_file
:- सभी एकत्रित बाह्य लिंक को एक पाठ फ़ाइल में सहेजता है।
- स्क्रिप्ट का मुख्य भाग:
- प्रारंभिक फ़ोरम URL सेट करता है.
- स्क्रैपिंग प्रक्रिया शुरू होती है.
- एकत्रित लिंक को एक फ़ाइल में सहेजता है.
उपयोग के लिए निर्देश:
प्रारंभिक फ़ोरम URL को इसमें डालें starting_urls
सूची।
स्क्रिप्ट चलाएँ:
python script_name.py
एकत्रित लिंक को सहेजा जाएगा external_links.txt
फ़ाइल।
इस स्क्रिप्ट को बेहतर बनाया जा सकता है और विशिष्ट आवश्यकताओं के अनुरूप अनुकूलित किया जा सकता है, जैसे अधिक जटिल पार्सिंग नियम या त्रुटि प्रबंधन।
टिप्पणियाँ (0)
यहां अभी तक कोई टिप्पणी नहीं है, आप पहले हो सकते हैं!