Maison  >  Questions et réponses  >  le corps du texte

python - Problème avec la sortie de l'URL du lien

import requests
res=requests.get('http://news.sina.com.cn/china/')
res.encoding="utf-8"

from bs4 import BeautifulSoup
soup=BeautifulSoup(res.text,'html.parser')
a=soup.select('a')
for i in a:
    print (i[href])

Je souhaite afficher l'URL de chaque lien, mais le code ci-dessus entraîne
Erreur : print (i[href])
NameError : le nom 'href' n'est pas défini

仅有的幸福仅有的幸福2705 Il y a quelques jours717

répondre à tous(2)je répondrai

  • 巴扎黑

    巴扎黑2017-05-24 11:37:29

    Tout d'abord, la clé du dictionnaire a besoin de guillemets, print(i['href'])print(i['href'])

    你可以用 print(i.get('href') ,防止找不到这个元素的时候报 KeyError

    Vous pouvez utiliser print(i.get('href') pour empêcher KeyError d'être signalé lorsque cet élément est introuvable.

    https://docs.python.org/3/lib...🎜

    répondre
    0
  • 仅有的幸福

    仅有的幸福2017-05-24 11:37:29

    import requests
    from bs4 import BeautifulSoup
    
    
    res = requests.get('http://news.sina.com.cn/china/')
    res.encoding = "utf-8"
    
    soup = BeautifulSoup(res.text, 'html.parser')
    a = soup.select('a')
    for i in a:
        try:
            href = i['href']
            if 'http' in href:
                print(href)
        except KeyError:
            continue
    

    Une suggestion : Lorsque vous posez des questions, essayez d'exprimer vos doutes. Ce que vous voulez principalement dire ici, c'est que vous n'avez pas ajouté de guillemets simplesi['href']

    répondre
    0
  • Annulerrépondre