【发布时间】:2022-08-10 03:04:10
【问题描述】:
嗨,我想从 \"href\" 获取 url 我收到一个错误 - AttributeError: \'NoneType\' object has no attribute \'get\'
website = soup.find_all(\'a\', {\'class\':\'Lwqic Cj b\'})网站返回
[<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 & 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>]当我跑步时
for site in website: site url = site.find(\'a\', {\'class\':\'Lwqic Cj b\'}).get(\'href\') urlurl 返回错误 - AttributeError: \'NoneType\' object has no attribute \'get\'
-
find在找不到元素时返回 None,因此您要搜索的元素不存在。 -
你可以通过 Scrapy 运行它吗?也许获取 Xpath 可能会返回您的元素。 \"a[@class=\"Lwqic Cj b\"]\"
-
您可能遇到最常见的问题:页面可能使用
JavaScript添加/更新元素,但BeautifulSoup/lxml、requests/urllib无法运行JS。您可能需要Selenium 来控制可以运行JS的真实网络浏览器。或者在Firefox/Chrome(标签Network)中使用(手动)DevTools来查看JavaScript是否从某个URL 读取数据。并尝试将此 URL 与requests一起使用。JS通常会得到JSON,它可以很容易地转换为 Python 字典(没有BS)。您还可以检查页面是否有(免费)API供程序员使用。 -
如果您找到带有
find_all()的元素,那么您不需要site.find().get(),而只需要site.get(),因为sind.find()将在当前<a>中搜索另一个<a><a>- 这是错误的
标签: python beautifulsoup python-requests