Em Python, como encontro elementos que contêm um atributo específico?

Dave

Estou usando o Python 3.7. Desejo localizar todos os elementos em minha página HTML que possuem um atributo, "data-permalink", independentemente de qual seja seu valor, mesmo se o valor estiver vazio. No entanto, estou confuso sobre como fazer isso. Estou usando o pacote bs4 e tentei o seguinte

soup = BeautifulSoup(html)
soup.findAll("data-permalink")
[]
soup.findAll("a")
[<a href=" ... </a>]
soup.findAll("a.data-permalink")
[]

O atributo normalmente só é encontrado em tags âncora em minha página, daí minha tentativa malsucedida de "a.data-permalink". Eu gostaria de retornar os elementos que contêm o atributo.

ewwink

Seu seletor é inválido

soup.findAll("a.data-permalink")

deve ser usado para o método, .select()mas ainda assim é inválido porque significa selecionar <a>com a classe e não com o atributo.

para combinar tudo, use o *paraselect()

.select('*[data-permalink]')

ou Truese estiver usandofindAll()

.findAll(True, attrs={'data-permalink' : True})

exemplo

from bs4 import BeautifulSoup

html = '''<a data-permalink="a">link</a>
<b>bold</b>
<i data-permalink="i">italic</i>'''

soup= BeautifulSoup(html, 'html.parser')
permalink  = soup.select('*[data-permalink]')
# or
# permalink  = soup.findAll(True, attrs={'data-permalink' : True})
print(permalink)

Resultados, o <b>elemento é ignorado

[<a data-permalink="a">link</a>, <i data-permalink="i">italic</i>]

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como encontrar todos os elementos que contêm um valor em um atributo específico usando selenium python

Como encontro em Java um elemento específico, para impressão, em uma lista de objetos com múltiplos elementos?

Como selecionar as linhas que contêm um valor específico em pelo menos um dos elementos em uma linha?

Como remover uma string que contém um caractere específico de uma lista em python

Como encontro um elemento por valor de atributo que contém determinado texto?

Como encontro um segmento de frase entre sinais de pontuação que contém um termo de pesquisa específico

Como encontro todos os arquivos que contêm texto específico no Linux, mas não em subdiretórios?

Como selecionar um elemento com base em um atributo que contém uma palavra específica

Como encontro a primeira estrutura em que um determinado membro possui um valor específico?

Como procurar um arquivo em uma pasta que contém um texto específico e renomear esse arquivo em Python

Como posso saber se algum método chamado que tem um atributo específico em c #

Como encontro o valor máximo do atributo de um objeto que ocorre exatamente duas vezes em uma matriz?

Encontre div que não contém uma propriedade específica em um atributo específico usando o seletor CSS

Como listar branches que contêm um determinado commit em um repositório específico?

Como encontro todos os arquivos que contêm texto específico no Linux?

Como posso filtrar os elementos de uma lista que contém um div com texto específico clicando em uma caixa de seleção usando jquery?

Encontre todos os elementos que contêm um valor em um atributo

Como retornar a String da String Array que contém um Substring específico em C #?

Como posso validar uma lista que contém flutuadores em um intervalo específico com Cerberus?

Python: Como seleciono múltiplos que contêm apenas um número específico?

Como encontro vértices em um gráfico que têm um grau, mas nenhum em graus?

Como selecionar um número específico de elementos em uma lista de strings que começam com um caractere específico em python?

xmlstarlet: Como omito elementos com um atributo específico?

Como excluo uma linha que contém uma string específica em um local específico usando sed ou awk?

Como encontro o índice do valor máximo em um intervalo específico de np.array?

VBA - Como aplicar um script em um intervalo apenas para linhas que contêm um valor específico

Como você obtém todos os valores de um atributo que todos os elementos contêm de um seletor?

Analisando XML em python: selecionando um atributo dado que um nó filho tem um atributo específico

Analisando XML em python: selecionando um atributo dado que um nó filho tem um atributo específico

TOP lista

  1. 1

    R Shiny: use HTML em funções (como textInput, checkboxGroupInput)

  2. 2

    O Chromium e o Firefox exibem as cores de maneira diferente e não sei qual deles está fazendo certo

  3. 3

    Como assinar digitalmente um documento PDF com assinatura e texto visíveis usando Java

  4. 4

    R Folheto. Dados de pontos de grupo em células para resumir muitos pontos de dados

  5. 5

    Gerenciar recurso shake de Windows Aero com barra de título personalizado

  6. 6

    Como obter dados API adequados para o aplicativo angular?

  7. 7

    UITextView não está exibindo texto longo

  8. 8

    Por que meus intervalos de confiança de 95% da minha regressão multivariada estão sendo plotados como uma linha de loess?

  9. 9

    Acessando relatório de campanhas na AdMob usando a API do Adsense

  10. 10

    Usando o plug-in Platform.js do Google

  11. 11

    Como posso modificar esse algoritmo de linha de visada para aceitar raios que passam pelos cantos?

  12. 12

    Dependência circular de diálogo personalizado

  13. 13

    Coloque uma caixa de texto HTML em uma imagem em uma posição fixa para site para desktop e celular

  14. 14

    iOS: como adicionar sombra projetada e sombra de traço no UIView?

  15. 15

    Como usar a caixa de diálogo de seleção de nomes com VBA para enviar e-mail para mais de um destinatário?

  16. 16

    Tabela CSS: barra de rolagem para a primeira coluna e largura automática para a coluna restante

  17. 17

    How to create dynamic navigation menu select from database using Codeigniter?

  18. 18

    Converter valores de linha SQL em colunas

  19. 19

    ChartJS, várias linhas no rótulo do gráfico de barras

  20. 20

    用@StyleableRes注释的getStyledAttributes。禁止警告

  21. 21

    não é possível adicionar dependência para com.google.android.gms.tasks.OnSuccessListener

quentelabel

Arquivo