Dalam senario pengaturcaraan ini, kami bertujuan untuk mengekstrak nilai atribut "nilai" tertentu daripada "input " tag menggunakan BeautifulSoup.
Kod yang disediakan menggunakan urllib dan BeautifulSoup untuk mendapatkan semula HTML halaman web dan menghuraikannya, masing-masing. Walau bagaimanapun, ralat berlaku disebabkan penggunaan kaedah find_all() BeautifulSoup yang salah.
Isunya terletak pada baris output, di mana kod cuba mengakses atribut 'nilai' pembolehubah inputTag, yang merupakan senarai elemen padanan. Pendekatan yang betul adalah dengan terlebih dahulu memilih elemen tertentu daripada senarai menggunakan indeksnya atau dengan menggunakan kaedah find(), yang hanya mengembalikan elemen padanan pertama.
Untuk menyelesaikan masalah ini, kod di bawah menyediakan dua penyelesaian:
# Option 1: Access the first element in the list inputTag = soup.find_all(attrs={"name": "stainfo"}) output = inputTag[0]['value'] # Option 2: Use the find() method to get the first element inputTag = soup.find(attrs={"name": "stainfo"}) output = inputTag['value']
Dengan memasukkan salah satu daripada pengubahsuaian ini, anda boleh mengekstrak atribut "nilai" yang dikehendaki dengan berkesan daripada teg input menggunakan BeautifulSoup.
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Atribut 'nilai' Tag Input Menggunakan BeautifulSoup dengan betul?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!