Я пытаюсь найти результаты поиска Google, на которых указано "Объявление" справа, т. Е. Получить ссылки на объявления Google из результатов поиска.У меня есть следующий скрипт, где я застрял в шаге soup.select ().Я не уверен, какие селекторы использовать ... Любая помощь приветствуется заранее проверить элемент ниже: снимок экрана элемента проверки
#! python3
#!usr/bin/env python3
import requests, bs4, webbrowser
#Get Google search results
ui_search = input("Search google: ")
print('Googling...') #display text while downloading
if len(ui_search)>1:
res = requests.get('https://google.com/search?q=' + ' '.join(ui_search))
res.raise_for_status()
#Retrieve the results with ads and open them.
soup = bs4.BeautifulSoup(res.text, 'html.parser')
#Open a browser tab for each result
linkElems = soup.select('.V0MxL a')
linkElems2 = soup.select('.ad_cclk a')
numOpen = min(5, len(linkElems))
print(numOpen)
for i in range(numOpen):
print(linkElems[i].get('href'))
webbrowser.open('http://google.com' +linkElems[i].get('href'))
Код для аналогичного кода без указания для рекламы:
#! python3
#lucky.py - Opens several Google search results.
import requests
import sys
import webbrowser
import bs4
ui_search = input("Search google: ")
print('Googling...') #display text while downloading
if len(sys.argv) > 1:
res = requests.get('http://google.com/search?q=' + ' '.join(sys.argv[1:]))
elif len(ui_search) > 1:
res = requests.get('http://google.com/search?q=' + ' '.join(ui_search))
res.raise_for_status()
#Retrieve top search result links.
soup = bs4.BeautifulSoup(res.text, 'html.parser')
#type(soup)
#Open a browser tab for each result
linkElems = soup.select('.r a')
numOpen = min(5, len(linkElems))
for i in range(numOpen):
print(linkElems[i])
# webbrowser.open('http://google.com' + linkElems[i].get('href'))
Example results:
введите описание изображения здесь