Om een uitstekende basis van forums voor Xrumer of soortgelijke software te ontleden, is het voldoende om één onderwerp te vinden waarin iemand zijn eigen onderwerpen (advertenties) publiceert en zijn onderwerpen aan andere forums koppelt om ze te versterken.
Met dit script kunt u hun database verzamelen.
Vereisten:
Installeer de benodigde bibliotheken met behulp van:
pip install requests beautifulsoup4
Script:
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}.")
Hoe het script werkt:
- Functie
get_links
:- Stuurt een verzoek naar de opgegeven URL.
- Parseert de HTML en verzamelt alle links.
- Functie
is_external
:- Controleert of een link extern is.
- Functie
scrape_forums
:- Schraapt recursief forums vanaf de opgegeven URL's.
- Verzamelt alle externe links.
- Functie
save_links_to_file
:- Slaat alle verzamelde externe links op in een tekstbestand.
- Hoofdgedeelte van het script:
- Stelt de initiële forum-URL's in.
- Start het schraapproces.
- Slaat de verzamelde links op in een bestand.
Gebruiksaanwijzing:
Voeg de initiële forum-URL's in het starting_urls
lijst.
Voer het script uit:
python script_name.py
De verzamelde links worden opgeslagen in de external_links.txt
bestand.
Dit script kan worden verbeterd en aangepast aan specifieke behoeften, zoals complexere parseerregels of foutafhandeling.
Opmerkingen (0)
Er zijn hier nog geen reacties, jij kunt de eerste zijn!