2016-11-19 1 views
1

Ich benutze Beautiful Soup 4, um eine Nachrichtenwebsite nach Links zu durchsuchen, die im Fließtext enthalten sind. Ich konnte alle Absätze finden, die die Links aber die paragraph.get('href') zurückgegebenen Typ none für jeden Link enthalten. Ich benutze Python 3.5.1. Jede Hilfe wird wirklich geschätzt.So finden Sie Links in einer bestimmten Klasse mit Beautiful Soup

from bs4 import BeautifulSoup 
import urllib.request 
import re 

soup = BeautifulSoup("http://www.cnn.com/2016/11/18/opinions/how-do-you-deal-with-donald-trump-dantonio/index.html", "html.parser") 

for paragraph in soup.find_all("div", class_="zn-body__paragraph"): 
    print(paragraph.get('href')) 

Antwort

1

Wollen Sie das wirklich?

for paragraph in soup.find_all("div", class_="zn-body__paragraph"): 
    for a in paragraph("a"): 
     print(a.get('href')) 

Beachten Sie, dass paragraph.get('href') versucht Attributhref in <div> Tag, das Sie gefunden zu finden. Da es kein solches Attribut gibt, gibt es None zurück. Wahrscheinlich muss man eigentlich alle Tags finden <a>, die eine Nachkommen Ihrer <div> (dies kann mit paragraph("a") erfolgen, die eine Abkürzung für paragraph.find_all("a") ist und dann für jedes Element <a> Blick auf ihre href Attribut.

Verwandte Themen