Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
22 / 16 / 7
Регистрация: 20.07.2010
Сообщений: 264

Как в селениуме из яндекса взять домен? Ошибся в xpath?

16.05.2020, 22:31. Показов 851. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Учусь, написал следующее, но результат пустой.

задача: через селениум вытащить список всех доменов по запросу в топ10.
Code
1
2
3
4
5
<div class="organic__path">
<a class="path__item">
<b>sait.ru</b>
</a>
</div>
для этого такой запрос сделал:
Python
1
serp=driver.find_elements_by_xpath("//div[@class='organic__path']/a/b/text()")
но выдает пусто.





Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
import os
 
path=os.getcwd()
firefox_driver_path=os.path.join(path, 'geckodriver.exe')
 
chrome_options = webdriver.FirefoxOptions()
#chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--ignore-certificate-errors")
 
 
key='купить стол'
url='https://yandex.ru/search/?lr=10&text='
 
driver = webdriver.Firefox(executable_path=firefox_driver_path, options=chrome_options)
driver.get(f"{url}{key}")
 
 
links=[]
serp=driver.find_elements_by_xpath("//div[@class='organic__path']/a/b/text()")
for el in serp:
    links.append(el)
    print(el)
driver.close()
print(links)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2020, 22:31
Ответы с готовыми решениями:

Как в селениуме взять текст внутри тега b?
элементы находятся , выдает: Однако при печати списка: None, None, None.... links= ...

Как через xpath взять текст не в теге?
Пример: http://xpather.com/6Qxo0zXk как захватить (+311) и (+435)?

Как удалить суб домен c www из яндекса
Ситуация следующего характера Добавление URLа Адрес subdomen.sait.org может быть внесен в нашу базу данных (и, соответственно,...

3
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7392 / 4819 / 1246
Регистрация: 30.03.2015
Сообщений: 13,694
Записей в блоге: 29
16.05.2020, 22:44
Цитата Сообщение от nikki4 Посмотреть сообщение
driver.close()
driver.quit()

я так и не понял задачу, первые 10 ссылок надо?
0
22 / 16 / 7
Регистрация: 20.07.2010
Сообщений: 264
16.05.2020, 22:46  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
я так и не понял задачу, первые 10 ссылок надо?
надо проверить позицию сайта по запросу.
а для этого сперва собрать список доменов в топе органической выдачи (без рекламы, карт, картинок)
Вот только начал -как чет не работает, а почему не понял.
Может хпас не верный
0
22 / 16 / 7
Регистрация: 20.07.2010
Сообщений: 264
17.05.2020, 17:16  [ТС]
Я понял свою ошибку. Оказывается если несколько классов, то надо указывать containts и запятую вместо знака равно. либо все классы указывать

вот так работает
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
import os
 
path=os.getcwd()
firefox_driver_path=os.path.join(path, 'geckodriver.exe')
 
chrome_options = webdriver.FirefoxOptions()
chrome_options.add_argument("--headless")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--ignore-certificate-errors")
 
 
key='купить стол'
url='https://yandex.ru/search/?lr=10&text='
 
driver = webdriver.Firefox(executable_path=firefox_driver_path, options=chrome_options)
driver.get(f"{url}{key}")
 
 
links=[]
serp=driver.find_elements_by_xpath("//a[@class='link link_theme_outer path__item i-bem']")
for el in serp:
    links.append(el.get_attribute('text'))
driver.quit()
print(links)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.05.2020, 17:16
Помогаю со студенческими работами здесь

Почему xpath в xpather работает как надо, а html.xpath обрезает последний элемент
Тут все ок. http://xpather.com/QdzC7iC7 Добавляю выражение для скрипта, но там обрезается артикул: import requests_html from...

Как в селениуме подождать, пока страница обновится?
Вот так ожидается пока страница загрузится: try: element = WebDriverWait(driver,...

Новый сайт - старый домен. Индексация Яндекса
Добрый день. Уважаемые эксперты, хотел узнать, насколько сильно влияет создание нового сайта на новом движке на индексацию сайта...

Насколько крут для Яндекса старый домен / сайт..
&lt;b&gt;У кого какие наблюдения на сей счёт?&lt;/b&gt; В любом случае, сей ситуацией сказать конкретно ничего не хочу, но мысль о древности домена...

Сайт под фильтром Яндекса - перенести на другой домен?!
Есть довольно неплохой сайт по дверям (300 стр. под НЧ и СЧ заточены), в гугле - все запросы в топе, а в любимом Яндексе - уже два месяца...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru