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)
ഇവിടെ ഇതുവരെ അഭിപ്രായങ്ങളൊന്നുമില്ല, നിങ്ങൾക്ക് ആദ്യത്തെയാളാകാം!