Я хочу получить только href, которые начинаются с https.
href
https
(some texts(type='bs4.BeautifulSoup')).find_all("a",href="https") can not get url links.
Я делаю инструменты для ползания.
Вы также можете отфильтровать атрибут href тега, используя регулярное выражение в find_all
soup.find_all('a',href=re.compile('^https'))
Демо
from bs4 import BeautifulSoup import re html=""" <a href="https://www.google.com">Secure</a> <a href="http://www.google.com">Not Secure</a> """ soup=BeautifulSoup(html,'html.parser') print(soup.find_all('a',href=re.compile('^https')))
Выходы:
[<a href="https://www.google.com">Secure</a>]
Документация:
Ключевое слово аргументы
Регулярное выражение в качестве фильтра
Использовать атрибут css = селектор значений, начинающийся с оператора ^. Уверен, что обманщик, но не может быстро найти хороший пример.
links = [link['href'] for link in soup.select('[href^='https'])]