Scrapping Tor: python source code
Untuk melakukan web scraping melalui jaringan Tor di Kali Linux 2024.4 menggunakan Python, Anda dapat mengikuti langkah-langkah berikut:
1. Instalasi dan Konfigurasi Tor:
- Instal Tor:
sudo apt-get update sudo apt-get install tor
- Konfigurasi Tor:
Edit file konfigurasi Tor untuk mengatur port SOCKS dan kontrol:
sudo nano /etc/tor/torrc
Tambahkan atau sesuaikan baris berikut:
SOCKSPort 9050 ControlPort 9051 HashedControlPassword your_hashed_password
Untuk membuat kata sandi yang di-hash, gunakan perintah:
tor --hash-password your_password
- Mulai Layanan Tor:
sudo systemctl start tor sudo systemctl enable tor
2. Instalasi Pustaka Python yang Diperlukan:
pip install requests[socks] beautifulsoup4 stem
3. Implementasi Kode Python untuk Web Scraping melalui Tor:
Berikut adalah contoh kode Python yang menggunakan Tor untuk melakukan web scraping:
import requests from bs4 import BeautifulSoup from stem import Signal from stem.control import Controller import time # Fungsi untuk memperbarui alamat IP Tor def renew_tor_ip(): with Controller.from_port(port=9051) as controller: controller.authenticate(password='your_password') controller.signal(Signal.NEWNYM) # Fungsi untuk membuat sesi dengan proxy Tor def get_tor_session(): session = requests.Session() session.proxies = { 'http': 'socks5h://127.0.0.1:9050', 'https': 'socks5h://127.0.0.1:9050', } return session # Fungsi untuk melakukan scraping pada URL tertentu def scrape_with_tor(url): renew_tor_ip() time.sleep(10) # Tunggu agar IP baru diterapkan session = get_tor_session() response = session.get(url) soup = BeautifulSoup(response.content, 'html.parser') return soup # Contoh penggunaan url = 'http://example.onion' soup = scrape_with_tor(url) print(soup.prettify())
Penjelasan Kode:
- `renew_tor_ip()`: Mengirim sinyal ke Tor untuk mendapatkan alamat IP baru.
- `get_tor_session()`: Membuat sesi requests yang menggunakan proxy Tor.
- `scrape_with_tor(url)`: Memperbarui IP Tor, menunggu sebentar, lalu melakukan permintaan HTTP ke URL yang ditentukan dan mengembalikan konten yang di-parse dengan BeautifulSoup.
Catatan Penting:
- Etika dan Legalitas: Pastikan Anda mematuhi hukum dan peraturan yang berlaku saat mengakses dan mengumpulkan data dari web, terutama dari dark web. Selalu hormati ketentuan layanan situs web yang Anda akses.
- Kinerja dan Stabilitas: Menggunakan Tor dapat memperlambat kecepatan koneksi karena rute lalu lintas melalui beberapa node. Selain itu, beberapa situs mungkin memblokir lalu lintas dari node keluar Tor.
- Keamanan: Berhati-hatilah saat mengakses dark web. Pastikan sistem Anda terlindungi dan hindari mengakses atau mengunduh konten yang mencurigakan atau ilegal.
Untuk informasi lebih lanjut tentang scraping melalui Tor, Anda dapat merujuk ke sumber berikut:
- [Web Scraping with Tor and Python - ScrapingAnt](https://scrapingant.com/blog/web-scraping-tor-python)
- [How to Use Tor For Web Scraping - Scrapfly](https://scrapfly.io/blog/how-to-use-tor-for-web-scraping/)
Selalu lakukan due diligence dan pastikan Anda memahami risiko serta tanggung jawab yang terkait dengan aktivitas web scraping melalui jaringan Tor.