Соскреб в Интернете для объявлений Google с использованием Python и Beautifulsoup - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь найти результаты поиска 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:

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...