Eine Geschichte, wenn Sie das Namensattribut angeben möchten, wenn Sie das HTML-Element mit BeautifulSoup abrufen.
#Akquisitionsbeispiel
source = soup.find('div', class_='hogehoge')
Grundsätzlich wird es durch Angabe vonoup.find ('Tag Name', Attributname = 'Wert') auf diese Weise erfasst. Wenn Sie dies jedoch in das Attribut name schreiben, tritt ein Fehler auf.
#Akquisitionsbeispiel
source = soup.find('input', name='hogehoge', type='hidden')
Ausführungsergebnis
TypeError: find() got multiple values for keyword argument 'name'
Dies scheint ein Fehler zu sein, da der Argumentname bereits in der find-Methode von BeautifulSoup definiert ist.
source = soup.find('input', attrs={'name': 'hogehoge', 'type': 'hidden'})
Es scheint, dass Sie das Namensattribut angeben können, indem Sie einen Wörterbuchtypwert an das Argument attrs übergeben. Geben Sie ihn daher damit an.
source = soup.find('input', {'name': 'hogehoge', 'type': 'hidden'})
Sie können das gleiche Ergebnis erzielen, auch wenn Sie das Argument weglassen. Wählen Sie also das gewünschte aus.
Parameters for find function [Python: BeautifulSoup-Get-Attributwert basierend auf dem Namensattribut](https://www.it-swarm.dev/ja/python/python%EF%BC%9Abeautifulsoup%E5%90%8D%E5% 89% 8D% E5% B1% 9E% E6% 80% A7% E3% 81% AB% E5% 9F% BA% E3% 81% A5% E3% 81% 84% E3% 81% A6% E5% B1% 9E% E6% 80% A7% E5% 80% A4% E3% 82% 92% E5% 8F% 96% E5% BE% 97% E3% 81% 97% E3% 81% BE% E3% 81% 99 / 1068412706 /)
Recommended Posts