Python извлекает первую ссылку в поиске Google

#python #selenium-webdriver #web-scraping #urllib

#python #selenium-webdriver #очистка веб-страниц #urllib

Вопрос:

Я пытаюсь отправить поисковый запрос в Google и извлечь только первый найденный результат. Мне нужен только URL. Вот пример того, что я пробовал до сих пор, но по какой-то причине я не могу получить значение href.

 import requests
from bs4 import BeautifulSoup
import xlwt
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from urllib.parse import urlparse

name = "Joe Sample"
search_query = 'string of info '   name   ' more info'


driver = webdriver.Firefox(executable_path="geckodriver")
driver.get("https://www.google.com")
driver.find_element_by_name('q').send_keys(search_query)
time.sleep(2)
driver.find_element_by_xpath('//*[@id="tsf"]/div[2]/div[1]/div[3]/center/input[1]').send_keys(Keys.ENTER)



results = driver.find_elements_by_xpath('/html/body/div[7]/div[2]/div[10]/div[1]/div[2]/div/div[2]/div[2]/div/div/div[1]/div/div[1]/div/div[2]/span/div/ol/li/a')
    href = results.get_attribute('href')
    print(urlparse.parse_qs(urlparse(href).query)['q'])
  

Первая половина кода работает правильно, проблема заключается в поиске первой ссылки — и захвате только URL.

Ответ №1:

Я предполагаю, что это должно быть href = results[0].get_attribute(“href”)