AttributeError: 'NoneType' object has no attribute 'get' – get.("href")

Question:

hi there i want to get the url from "href" I am getting an error – AttributeError: ‘NoneType’ object has no attribute ‘get’

website = soup.find_all('a', {'class':'Lwqic Cj b'})

the website returns

    [<a class="Lwqic Cj b" href="/Restaurant_Review-g186390-d4925659-Reviews-Jasmine_Garden-Guildford_Surrey_England.html" target="_blank">Jasmine Garden</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g580430-d15572434-Reviews-Beit_Beirut-Woking_Surrey_England.html" target="_blank">1<!-- -->. <!-- -->Beit Beirut</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g580430-d14045954-Reviews-Bacaro-Woking_Surrey_England.html" target="_blank">2<!-- -->. <!-- -->Bacaro</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g2054936-d6607802-Reviews-Pasha-Chobham_Surrey_England.html" target="_blank">3<!-- -->. <!-- -->Pasha</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g504169-d19092676-Reviews-Indian_Panorama-East_Molesey_Molesey_Surrey_England.html" target="_blank">4<!-- -->. <!-- -->Indian Panorama</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g580430-d21305280-Reviews-Everest_Spice-Woking_Surrey_England.html" target="_blank">5<!-- -->. <!-- -->Everest Spice</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g1765387-d23486824-Reviews-Samsara_Warlingham-Warlingham_Surrey_England.html" target="_blank">Samsara Warlingham</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g186390-d14133484-Reviews-Raviz-Guildford_Surrey_England.html" target="_blank">6<!-- -->. <!-- -->Raviz</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g504164-d20963857-Reviews-Mullans-Camberley_Surrey_England.html" target="_blank">7<!-- -->. <!-- -->Mullans</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g580409-d10298057-Reviews-Saffron_Summer-Chessington_Surrey_England.html" target="_blank">8<!-- -->. <!-- -->Saffron Summer</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g4178713-d2232188-Reviews-The_Red_Lion_Inn-Shamley_Green_Guildford_Surrey_England.html" target="_blank">9<!-- -->. <!-- -->The Red Lion Inn</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g504164-d14109929-Reviews-Tandoori_Treats-Camberley_Surrey_England.html" target="_blank">10<!-- -->. <!-- -->Tandoori Treats</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g504181-d23463070-Reviews-Veeno_Reigate-Reigate_Surrey_England.html" target="_blank">11<!-- -->. <!-- -->Veeno Reigate</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g504170-d21298426-Reviews-Yaadein_Restaurant-Epsom_Surrey_England.html" target="_blank">12<!-- -->. <!-- -->Yaadein Restaurant</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g504170-d19849247-Reviews-Pizzerium-Epsom_Surrey_England.html" target="_blank">13<!-- -->. <!-- -->Pizzerium</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g477981-d11994760-Reviews-Wagamama-Staines_Surrey_England.html" target="_blank">14<!-- -->. <!-- -->Wagamama</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g190796-d4072239-Reviews-Tony_Parkin_at_The_Tudor_Room-Egham_Surrey_England.html" target="_blank">15<!-- -->. <!-- -->Tony Parkin at The Tudor Room</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g190796-d3454122-Reviews-The_Beehive-Egham_Surrey_England.html" target="_blank">16<!-- -->. <!-- -->The Beehive</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g191265-d5027476-Reviews-Zeno_Restaurant-Horley_Surrey_England.html" target="_blank">17<!-- -->. <!-- -->Zeno Restaurant</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g186390-d7178046-Reviews-Turtle_Bay_Guildford-Guildford_Surrey_England.html" target="_blank">18<!-- -->. <!-- -->Turtle Bay - Guildford</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g635924-d2715188-Reviews-Cyder_House_Inn-Godalming_Surrey_England.html" target="_blank">19<!-- -->. <!-- -->Cyder House Inn</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g191265-d17712596-Reviews-Shiraz_Bar_Mediterranean_Restaurant-Horley_Surrey_England.html" target="_blank">20<!-- -->. <!-- -->Shiraz Bar &amp; Mediterranean Restaurant</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g504169-d10292747-Reviews-Mezzet-East_Molesey_Molesey_Surrey_England.html" target="_blank">21<!-- -->. <!-- -->Mezzet</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g659590-d2394441-Reviews-The_Barn_at_Alfold-Cranleigh_Surrey_England.html" target="_blank">22<!-- -->. <!-- -->The Barn at Alfold</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g504171-d1873567-Reviews-Yiayias_at_The_Fox-Farnham_Surrey_England.html" target="_blank">23<!-- -->. <!-- -->Yiayias at The Fox</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g635924-d14171401-Reviews-Acorn_Restaurant-Godalming_Surrey_England.html" target="_blank">24<!-- -->. <!-- -->Acorn Restaurant</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g477981-d10486708-Reviews-Turtle_Bay_Staines-Staines_Surrey_England.html" target="_blank">25<!-- -->. <!-- -->Turtle Bay - Staines</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g186390-d20313602-Reviews-Shah_s_Secreto-Guildford_Surrey_England.html" target="_blank">26<!-- -->. <!-- -->Shah's Secreto</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g504181-d1393083-Reviews-New_Gurkha_Kitchen-Reigate_Surrey_England.html" target="_blank">27<!-- -->. <!-- -->New Gurkha Kitchen</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g580430-d18905041-Reviews-Daarna-Woking_Surrey_England.html" target="_blank">28<!-- -->. <!-- -->Daarna</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g504169-d7221903-Reviews-Mezzet_Dar-East_Molesey_Molesey_Surrey_England.html" target="_blank">29<!-- -->. <!-- -->Mezzet Dar</a>,
 <a class="Lwqic Cj b" href="/Restaurant_Review-g186390-d3245160-Reviews-Positano-Guildford_Surrey_England.html" target="_blank">30<!-- -->. <!-- -->Positano</a>]

when i run

for site in website:
site
url = site.find('a', {'class':'Lwqic Cj b'}).get('href')
url

url returns the error – AttributeError: ‘NoneType’ object has no attribute ‘get’

Asked By: Code Ninja

||

Answers:

If you found all elements with find_all() then you don’t need find() to search element again but you should use directly site.get().

Using site.find() you search nested <a> inside current <a> – and this is mistake.
It can’t find nested <a> so find() gives None and this gives None.get() which gives error AttributeError: 'NoneType' object has no attribute 'get'

website = soup.find_all('a', {'class':'Lwqic Cj b'}) 

for site in website:
    url = site.get('href')
    print(url)
Answered By: furas