python — Как получить значение src в class_ = ‘small-gallery-image’
Вопрос задан
Изменён 4 года назад
Просмотрен 365 раз
Необходимо получить значение в src (url картинки). Код:
import requests from bs4 import BeautifulSoup url = 'https://memepedia.ru/trending/' headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36'} response = requests.get(url, headers=headers) soup = BeautifulSoup(response.text) array = soup.find_all(class_ = 'entry-title') hrefs = [el.select('a')[0]['href'] for el in array] #print(hrefs) r1 = requests.get(hrefs[0], headers=headers) soup1 = BeautifulSoup(r1.text) arr1 = soup1.find_all(class_ = 'small-gallery-image') print(arr1)
Вывод:
[<figure> <a data-class="post-gallery-lightbox" data-id="#post-gallery-184644" href="#post-gallery-184644_0"><img alt="Крот" src="https://memepedia. ru/wp-content/uploads/2019/06/photo_2019-06-11_00-31-07-360x270.jpg"/></a> </figure>, <figure>]
- python
- парсер
- beautiful-soup
Запустил ваш код, получил arr1
содержащий 11 элементов <figure>
. Для получения значения атрибута src
из <img>
сделал так:
imgs = [el.img.get('src') for el in arr1]
Результат:
['https://memepedia.ru/wp-content/uploads/2019/06/photo_2019-06-11_00-31-07-360x270.jpg', 'https://memepedia.ru/wp-content/uploads/2019/06/neh4gdkkdgx-rf7-rcn24uw9rvgzt9fdk66lupmnsluzoihaxnbjrqabnb7nawu_qmkag4bsekfspizimmaw757nt_yi2egqun3xvhg8l88-1-360x270.jpg', 'https://memepedia.ru/wp-content/uploads/2019/06/screenshot_4-2-360x270.png', 'https://memepedia.ru/wp-content/uploads/2019/06/photo_2019-06-12_03-28-37-360x270.jpg', 'https://memepedia.ru/wp-content/uploads/2019/06/photo_2019-06-12_15-15-47-360x270.jpg', 'https://memepedia.ru/wp-content/uploads/2019/06/screenshot_8-4-360x270. png', 'https://memepedia.ru/wp-content/uploads/2019/06/screenshot_6-3-360x270.png', 'https://memepedia.ru/wp-content/uploads/2019/06/screenshot_5-3-360x270.png', 'https://memepedia.ru/wp-content/uploads/2019/06/screenshot_2-3-360x270.png', 'https://memepedia.ru/wp-content/uploads/2019/06/screenshot_1-3-360x270.png', 'https://memepedia.ru/wp-content/uploads/2019/06/photo_2019-06-07_18-39-04-360x270.jpg']
Зарегистрируйтесь или войдите
Регистрация через Google Регистрация через FacebookОтправить без регистрации
ПочтаНеобходима, но никому не показывается
Отправить без регистрации
ПочтаНеобходима, но никому не показывается
By clicking “Отправить ответ”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.
chromium/src/url — Git в Google
Layers
В этом каталоге есть несколько концептуальных уровней. Начиная с самого нижнего уровня вверх, они следующие:
Разбор
url_parse.*
файлов являются синтаксическим анализатором. Этот код не выполняет преобразования строк. Его единственная задача — взять входную строку и разделить компоненты URL-адреса, насколько это возможно, для данного типа URL-адреса. Синтаксический анализ никогда не может дать сбой, он примет самое лучшее предположение. Этот уровень не имеет логики для определения типа применяемого синтаксического анализа URL, который необходимо применять на более высоком уровне (уровень «util» ниже).
Поскольку код синтаксического анализатора получен ( очень отдаленно от ) из некоторого кода в Mozilla, некоторые файлы синтаксического анализатора находятся в url/ Third_Party/mozilla/
.
Основной заголовок для вызова синтаксического анализатора: url/ Third_Party/mozilla/url_parse.h
.
Канонизация
Файлы url_canon*
являются канонизаторами. Этот код преобразует определенные компоненты URL-адресов или определенные типы URL-адресов в стандартную форму. Для некоторых опасных или недопустимых данных канонизатор сообщит, что URL-адрес недействителен, хотя он всегда будет стараться изо всех сил выводить результат (поэтому вызывающий код может, например, показать пользователю ошибку о том, что URL-адрес недействителен). Канонизатор пытается обеспечить как можно более последовательное представление без изменения значения URL-адреса.
Уровень канонизатора не зависит от типа строки модуля внедрения, поэтому весь вывод строк выполняется через объект-оболочку CanonOutput
. Реализация вывода std::string
представлена в url_canon_stdstring.h
.
Основной заголовок для вызова канонизатора: url/url_canon. h
.
Utility
Файлы url_util*
обеспечивают высокоуровневую оболочку анализатора и канонизатора. Хотя его можно вызывать напрямую, он разработан как основа для написания объектов-оболочек URL (позже GURL и объект KURL Blink используют уровень Utility для реализации низкоуровневой логики).
Код утилиты принимает решения о типах URL-адресов и вызывает правильные функции синтаксического анализа и канонизации для этих типов. Он предоставляет интерфейс для регистрации схем для конкретных приложений, которые имеют определенные требования. Совместное использование этой логики между KURL и GURL важно для согласованной обработки URL-адресов в приложении.
Основной заголовок для включения: url/url_util.h
.
Google URL (GURL) и Origin
На самом высоком уровне предоставляется объект C++ для представления URL-адресов. Этот объект использует STL. Большинству пользователей нужен только этот слой. Включить url/gurl. h
.
Также на этом уровне находится объект Origin, который существует для принятия решений о безопасности в Интернете. Включить url/origin.h
.
Историческая справка
Изначально этот код был отдельной библиотекой, предназначенной для встраивания как в Chrome (который использует STL), так и в WebKit (который в то время не использовал STL). В результате синтаксический анализ, канонизация и служебный код не могли использовать STL или любой другой общий код в базе Chromium.
Когда WebKit был разветвлен в репозитории Chromium и переименован в Blink, это ограничение было несколько ослаблено. Blink по-прежнему предоставляет свой собственный объект URL, используя свой собственный строковый тип, поэтому изоляция, которую обеспечивает уровень Utility, по-прежнему полезна. Но некоторые строки STL и вызовы базовых функций постепенно добавлялись туда, где это возможно.
В чем разница между атрибутами href и src? — HTML FAQ
aubsrey 1
Вопрос
В чем разница между атрибутами href
и src
?
Ответ
Атрибут href
указывает местоположение (URL) ресурса, на который указывает элемент привязки, или местоположение связанного ресурса, например таблицы стилей. В то время как атрибут src
используется для встраивания ресурса (обычно URL-адреса) в документ, подумайте о встроенных изображениях (
) и
теги.
7 лайков
парапаа2
Никак не могу уложиться в голове,не понятна эта разница.В чем разница между указанием местоположения и внедрением ресурса?
МТФ 3
Как уже упоминалось, href
запрашивает ресурс, такой как веб-страница, обработчик форм, справочная страница блочной цитаты или таблица стилей. Во многих случаях (за исключением таблиц стилей) ссылка открывает новую веб-страницу, с которой кнопка «Назад» должна вернуть нас на предыдущую страницу.
src
указывает ресурс, встроенный в текущий документ, например img, видео, аудио или сценарий. Браузер будет распределять пространство экрана в зависимости от физических размеров встроенного объекта. href
не содержит такого положения.
15 лайков
рубин7325823337 4
Что означает href?
Спасибо!
1 Нравится
мтф 5
HTTP-ссылка
, где HT означает HyperText , поэтому у нас есть HyperTextReference или href
.
Якоря привязаны к тому, за что они цепляют , отсюда и название, данное навигационным ссылкам (сайтовым или внешним),
, где «а» означает якорь . Мы можем принять это во внимание и дать href
другое имя, которое расширяет просторечие… ссылка на хук . Это сленг. Тем не менее, действительный псевдоним для гипертекстовая ссылка
.
: элемент Anchor - HTML: язык гипертекстовой разметки | МДН
5 лайков
мяу0056705245 6
как мы загружаем свои фотографии на сайт
mtf