Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
2 / 2 / 1
Регистрация: 01.06.2016
Сообщений: 80

Извлечение заголовков в BeautifulSoup

14.02.2017, 18:35. Показов 4791. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите, почему не извлекается содержимое тэгов h3?
Python
1
2
3
4
5
6
7
8
9
import requests
from bs4 import BeautifulSoup as bs
 
r = requests.get("https://www.google.by/?gws_rd=ssl#newwindow=1&q=%D0%BB%D0%B5%D1%82%D0%BE")
print(r)
text = r.text
soup = bs(text, "html.parser")
h3 = soup("h3")
print(h3)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.02.2017, 18:35
Ответы с готовыми решениями:

Извлечение заголовков из CSV файлов
Доброго времени суток! Столкнулся с задачей - необходимо извлечь информацию из CSV файла вместе с заголовками. Я могу лишь получить...

Извлечение чисел из строки (частичное извлечение)
Добрый день! Прошу помочь облегчить жизнь работяге офисного планктона (т.е. мне) :D Неотъемлемой частью моей работы является...

Beautifulsoup
Добрый вечер! Не получается с beautifulsoup получить данные из html'а. Подскажите,как можно получить текст пятого td в tr? ...

5
11 / 11 / 7
Регистрация: 09.02.2017
Сообщений: 20
14.02.2017, 19:12
Лучший ответ Сообщение было отмечено Franek как решение

Решение

Попробуй изменить ссылку на http://www.google.by/search?q=... 1%82%D0%BE
почитай тут более подробнее https://automatetheboringstuff.com/chapter11/
1
2 / 2 / 1
Регистрация: 01.06.2016
Сообщений: 80
18.02.2017, 15:50  [ТС]
user20177, я так понял эти гугловские ссылки в моем и твоем сообщении отличаются тем, что в моей содержится дополнительный текст для адаптации Гугла к запросам пользователей (так написано в книге, на которую ссылка в сообщении выше). А как сделать чтобы ссылки (h3 заголовки) были рабочими?

Добавлено через 8 минут
Чтобы извлекалось содержимое h3 тэгов?
0
11 / 11 / 7
Регистрация: 09.02.2017
Сообщений: 20
18.02.2017, 19:55
посмотри этот код
Python
1
2
3
4
5
6
7
8
9
10
11
import requests
from bs4 import BeautifulSoup as bs
 
r = requests.get("http://www.google.by/search?q=%D0%BB%D0%B5%D1%82%D0%BE")
text = r.text
soup = bs(text, "html.parser")
items = soup.select('h3')
for item in items:
    a = item.find('a')
    print('{} - {}'.format(a.text, a.get('href')))
    print()
Добавлено через 26 минут
в начале каждой ссылки есть строка '/url?q=' можешь убрать методом lstrip a.get('href').lstrip('/url?q=')
1
2 / 2 / 1
Регистрация: 01.06.2016
Сообщений: 80
18.02.2017, 20:56  [ТС]
user20177, этот метод сработал, лишние символы убрались, но извлечённые ссылки почему-то не рабочие.
Например, при нажатии ссылки на Википедию отображается: "Запрашиваемое название страницы содержит недопустимые символы: «%D0»".
Python
1
2
3
4
5
6
7
8
9
10
11
import requests
from bs4 import BeautifulSoup as bs
 
r = requests.get("http://www.google.by/search?q=%D0%BB%D0%B5%D1%82%D0%BE")
text = r.text
soup = bs(text, "html.parser")
items = soup.select('h3')
for item in items:
    a = item.find('a')
    print('{} - {}'.format(a.text, a.get('href').lstrip('/url?q=')))
    print()
1
11 / 11 / 7
Регистрация: 09.02.2017
Сообщений: 20
18.02.2017, 21:55
Лучший ответ Сообщение было отмечено Franek как решение

Решение

Тоже заметил, в каждой ссылке есть &sa если убрать все что начинается &sa и затем всю эту ссылку закинуть urllib.request.unquote то ссылка срабатывает.

Python
1
2
3
url = a.get('href').lstrip('/url?q=')
sa = url.find('&sa')
print(urllib.request.unquote(url[0:sa]))
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.02.2017, 21:55
Помогаю со студенческими работами здесь

BeautifulSoup
import requests from bs4 import BeautifulSoup url =...

BeautifulSoup
Как с такого примера при помощи BeautifulSoup сделать словарь <ul class="flist"> <li><span>Год:</span> 2022</li> ...

BeautifulSoup
Здравствуйте. Только недавно начал учить python и столкнулся вот с такой проблемой, при попытке воспользоваться beautifulsoup ...

Установка BeautifulSoup
Не понимаю, я просто скачал этот суп и скопировал его в папку в Program files где у меня Python. Как я понимаю, спец. этот суп...

Beautifulsoup и pagination!
Есть код который скачивает музыку с сайта. Скрипт качает музыку только с одной страницы, но хотелось бы скачать сразу всю Mantra'y с сайта....


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru