Поскольку l oop не работает для поиска в Интернете, поиск Google в python - PullRequest
0 голосов
/ 11 марта 2020

Я работаю над поиском в Интернете с помощью списка ключевых слов. Вложенный For l oop для очистки одной страницы хорошо работает. Тем не менее, другой для l oop поиска ключевых слов в списке не работает, как я намеревался, чтобы собрать данные для каждого результата поиска. Результаты не получили результат поиска первых двух ключевых слов, но он получил только результат последнего ключевого слова.

Вот код:

browser = webdriver.Chrome(r"C:\...\chromedriver.exe")

df = pd.DataFrame(columns = ['ceo', 'value'])

baseUrl = 'https://www.google.com/search?q='
ceo_list = ["Bill Gates", "Elon Musk", "Warren Buffet"]
values =[]


for ceo in ceo_list:
    browser.get(baseUrl + ceo)
    table = browser.find_elements_by_css_selector('div.ifM9O') 

    for row in table:
        ceo = str(([c.text for c in row.find_elements_by_css_selector('div.kno-ecr-pt.PZPZlf.gsmt.i8lZMc')])).strip('[]').strip("''")
        value = str(([c.text for c in row.find_elements_by_css_selector('div.Z1hOCe')])).strip('[]').strip("''")

    ceo = pd.Series(ceo) 
    value = pd.Series(value)

    df = df.assign(**{'ceo': ceo, 'value': value}) 


print(df)

browser.close()

Это вывод:

              ceo                                              value
0  Warren Buffett  Born: August 30, 1930 (age 89 years), Omaha, N...

Что я ожидаю, это:

              ceo                                              value
0  Bill Gates      Born:..........
1  Elon Musk       Born:...........
2  Warren Buffett  Born: August 30, 1930 (age 89 years), Omaha, N...

Не уверен, какая часть отсутствовала.

1 Ответ

0 голосов
/ 11 марта 2020

Вам необходимо создать ceo в виде списка и добавить к нему внутри для l oop, чтобы вы не перезаписывали его

...