Skip to content

Instantly share code, notes, and snippets.

@dimitryzub
Last active August 6, 2021 08:52
Show Gist options
  • Save dimitryzub/ae459c73001e62b6e8248844e2679939 to your computer and use it in GitHub Desktop.
Save dimitryzub/ae459c73001e62b6e8248844e2679939 to your computer and use it in GitHub Desktop.
DuckDuckGo Scrape Ad Results
from selenium import webdriver
driver = webdriver.Chrome(executable_path='path/to/chromedriver.exe')
driver.get('https://duckduckgo.com/?q=rtx 3080&kl=us-en&ia=web')
for result in driver.find_elements_by_css_selector('.results--ads .result__body.links_main.links_deep'):
title = result.find_element_by_css_selector('.js-result-title-link').text
link = result.find_element_by_css_selector('.js-result-title-link').get_attribute('href')
source = result.find_element_by_css_selector('.js-result-extras-url').text
snippet = result.find_element_by_css_selector('.js-result-snippet > at').text
print(f'{title}\n{source}\n{snippet}\n{link}\n')
for sitelink in driver.find_elements_by_css_selector('.js-sitelinks-title'):
sitelink_title = sitelink.text
sitelink_url = sitelink.get_attribute('href')
print(f'{sitelink_title}\n{sitelink_url}\n')
driver.quit()
@ilyazub
Copy link

ilyazub commented Aug 6, 2021

Will it scrape ads on the right side?

image

@ilyazub
Copy link

ilyazub commented Aug 6, 2021

It will work for inline site links but will skip expanded site links.

Makes sense 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment