File size: 1,592 Bytes
ffce262
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
from ddgs import DDGS


def search(prompt, page, region='us-en', safesearch='off', timelimit='y'):
    results = DDGS().text(
        prompt, region=region,
        safesearch=safesearch, timelimit=timelimit, page=page, backend="auto"
    )
    return results

def images(prompt, page, region='us-en', safesearch='off', timelimit='y'):
    results = DDGS().images(
        prompt, region=region,
        safesearch=safesearch, timelimit=timelimit, page=page, backend="auto"
    )
    return results

def videos(prompt, page, region='us-en', safesearch='off', timelimit='y'):
    results = DDGS().videos(
        prompt, region=region,
        safesearch=safesearch, timelimit=timelimit, page=page, backend="auto"
    )
    return results

def format(results, prompt):
    formatted = []

    formatted.append(f"Query: {prompt}")
    for i, result in enumerate(results, 1):
        formatted.append(f"### {i}. {result['title']}")
        formatted.append(f"**Link:** [{result['title']}]({result['href']})")
        formatted.append("")
        formatted.append(result['body'].strip())
        formatted.append("-" * 80)
        formatted.append("")
    
    return "\n".join(formatted)

def extract_urls(results):
    return [result['href'] for result in results]

async def main():
    prompt = "chatgpt"
    page = 1

    text_results = search(prompt, page)
    print(text_results)

    formatted_results = format(text_results, prompt)
    print(formatted_results)

    urls = extract_urls(text_results)
    print(urls)


if __name__ == "__main__":
    import asyncio
    asyncio.run(main())