from googlesearch import search
import csv
import time

def load_keywords(filename):
    with open(filename, 'r', encoding='utf-8') as f:
        return [line.strip() for line in f if line.strip()]

def google_scrape_bulk(keywords, num_results=10, output_file='results.csv'):
    with open(output_file, mode='w', newline='', encoding='utf-8') as file:
        writer = csv.writer(file)
        writer.writerow(['Keyword', 'Rank', 'URL']) 

        for keyword in keywords:
            print(f"🔍 Searching for: {keyword}")
            try:
                results = search(keyword, num_results=num_results)
                for i, url in enumerate(results):
                    writer.writerow([keyword, i+1, url])
                    time.sleep(1)  # Delay agar tidak dianggap bot
            except Exception as e:
                print(f"❌ Error while searching '{keyword}': {e}")  

    print(f"\n✅ All results saved to '{output_file}'") 

# Main
if __name__ == '__main__':
    keywords = load_keywords('keywords.txt')
    google_scrape_bulk(keywords, num_results=10)

