Я пытаюсь извлечь ссылки href (показанные ниже) после извлечения тегов span. Однако он выдает следующую ошибку:
Traceback (последний вызов был последним): файл "C: / Users / qeq981 / Desktop / work.py", строка 34, в печати (element.find) ('a') ['href']) TypeError: объект 'NoneType' не может быть подписан
Я использую следующий код: result2 = soup.find_all('span', {'style': 'white-space: nowrap'}) for element in result2: print(element) print(element.find('a')['href'])
result2 = soup.find_all('span', {'style': 'white-space: nowrap'}) for element in result2: print(element) print(element.find('a')['href'])
Однако, если я опущу ['href'], я получаю все теги span:
['href']
<span style="white-space: nowrap"><a href="https://www.mobygames.com/game/linux/americas-army-operations">Linux</a> (<em>2003</em>)</span> <a href="https://www.mobygames.com/game/linux/americas-army-operations">Linux</a> <span style="white-space: nowrap"><a href="https://www.mobygames.com/game/macintosh/americas-army-operations">Macintosh</a> (<em>2003</em>)</span> <a href="https://www.mobygames.com/game/macintosh/americas-army-operations">Macintosh</a> <span style="white-space: nowrap"><a href="https://www.mobygames.com/game/windows/americas-army-operations">Windows</a> (<em>2002</em>)</span> <a href="https://www.mobygames.com/game/windows/americas-army-operations">Windows</a>
Как мне извлечь href?
С кодом HTML, который вы разместили, сценарий работает, хорошо (так что ошибка должна быть в другом месте в вашем HTML коде). извлеките правильные теги, вы можете использовать CSS селектор span[style="white-space: nowrap"] a[href], чтобы выбрать только <a> теги с "href =" под указанными <span> тегами.
span[style="white-space: nowrap"] a[href]
<a>
<span>
Например (txt - это фрагмент из вашего вопрос):
txt
from bs4 import BeautifulSoup soup = BeautifulSoup(txt, 'html.parser') for a in soup.select('span[style="white-space: nowrap"] a[href]'): print(a['href'])
Отпечатки:
https://www.mobygames.com/game/linux/americas-army-operations https://www.mobygames.com/game/macintosh/americas-army-operations https://www.mobygames.com/game/windows/americas-army-operations