first commit
This commit is contained in:
commit
5d3b2f218b
2817 files changed
+516548
No files matched your search
@@ -0,0 +1,42 @@
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
from urllib.parse import urlparse
|
||||
|
||||
def search_duckduckgo(query):
|
||||
session = requests.Session()
|
||||
session.headers.update({
|
||||
"User-Agent": "Mozilla/5.0"
|
||||
})
|
||||
|
||||
response = session.post(
|
||||
"https://html.duckduckgo.com/html/",
|
||||
data={
|
||||
"q": query,
|
||||
"kl": "us-en",
|
||||
"df": "w"
|
||||
}
|
||||
)
|
||||
|
||||
soup = BeautifulSoup(response.text, "html.parser")
|
||||
|
||||
results = []
|
||||
|
||||
for a in soup.find_all("a", class_="result__a"):
|
||||
title = a.get_text(strip=True)
|
||||
url = a.get("href")
|
||||
|
||||
if not url:
|
||||
continue
|
||||
|
||||
domain = urlparse(url).netloc.lower()
|
||||
|
||||
# Bỏ .vn
|
||||
if domain.endswith(".vn"):
|
||||
continue
|
||||
|
||||
results.append({
|
||||
"title": title,
|
||||
"url": url
|
||||
})
|
||||
|
||||
return results
|
||||
Reference in new issue
Block a user