С Python, как очистить описательный текст ссылки из поиска Google? - PullRequest
0 голосов
/ 04 сентября 2018

В python3 у меня есть этот скрипт, чтобы очистить первый экран поиска Google:

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.common.exceptions import NoAlertPresentException
from selenium.webdriver.support.select import Select

nome = '"ALDEANNO CAMPOS"'
nome = nome.replace(' ', '+')
cargo = 'DEPUTADO FEDERAL'

busca = f'https://www.google.com.br/search?q={nome}+{cargo}+ditadura'

profile = webdriver.FirefoxProfile()
browser = webdriver.Firefox(profile)

browser.get(busca)

html = browser.page_source
soup = BeautifulSoup(html, "html.parser")
browser.close()

page = soup.find_all("div", {"class": "rc"})

for link in page:
    href = link.find("a")['href']
    texto = link.find("a").text
    print(href)
    print(texto)
    print("---------------")

Программа показывает или захватывает ссылку href и текст описания ссылки, то есть название страницы. Но я также хочу извлечь фразу, которая находится ниже поисковой ссылки Google

Например, на этой странице (https://www.google.com/search?client=ubuntu&channel=fs&ei=DrSNW8r3E4urwgS977WYDA&q=ALDEANNO+CAMPOS+deputado+federal+ditadura&oq=ALDEANNO+CAMPOS+deputado+federal+ditadura&gs_l=psy-ab.12...0.0.0.1933260.0.0.0.0.0.0.0.0..0.0....0...1c..64.psy-ab..0.0.0....0.U9iFnwXwzpk) тексты:

"24 августа 2018 г. - Завершение работы по доставке груза в Федеральный федеральный профсоюз по борьбе с наркотиками в рамках программы PRP nas Eleições 2018 no Pará."

"Relacionamos a seguir os senadores e deputados federais brasileiros cassados ​​соответствуют ... Эпилогу де Кампос · Коста Рего · Ресифи, PE, PTB-PE (1962) ..."

"Франсиско Луис да Силва Кампос" (Dores do Indaiá, 18 ноября 1891 г. - Белу-Оризонти, ... Em 1921 Франсиско Кампос, посвященный федеральному праву PRM, существует на ... Armadas, dosparativeos que levariam à ditadura до Эстадо Ново, инсталдация по гольпе де Эстадо декмадо эм Новембро де 1937 ".

и т. Д.

Пожалуйста, кто-нибудь знает, как я могу захватить этот окончательный текст, который находится под ссылкой?

Пример того, как это выглядит с именем «CORONEL FERES» - print (link) - (не удалось отобразить html-код)

PSL Itapema - Записи | Facebook https://www.facebook.com/PSLitapema17/posts/1638801189535968General Mourão apoia o pr-cadidato a Депутатский федеральный коронельский пиар . Confira: 37 Views .... Há uma ditadura silenciosa que não podemos allowir. Бом диа!

1 Ответ

0 голосов
/ 04 сентября 2018

Вам просто нужно добавить это внутри цикла, см. Код ниже.

from bs4 import BeautifulSoup
from selenium import webdriver
from selenium.common.exceptions import NoAlertPresentException
from selenium.webdriver.support.select import Select

nome = '"ALDEANNO CAMPOS"'
nome = nome.replace(' ', '+')
cargo = 'DEPUTADO FEDERAL'

busca = f'https://www.google.com.br/search?q={nome}+{cargo}+ditadura'

profile = webdriver.FirefoxProfile()
browser = webdriver.Firefox(profile)

browser.get(busca)

html = browser.page_source
soup = BeautifulSoup(html, "html.parser")
browser.close()

page = soup.find_all("div", {"class": "rc"})

for link in page:
    href = link.find("a")['href']
    texto = link.find("a").text
    body = link.find('span', attrs={'class': 'st'}).text
    print(href)
    print(texto)
    print(body)
    print("---------------")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...