TypeError: Menggunakan Corak Rentetan pada Objek Seperti Bait dalam re.findall()
Apabila cuba mengekstrak teks menggunakan ungkapan biasa dalam Python, anda mungkin menghadapi ralat "TypeError: tidak boleh menggunakan corak rentetan pada objek seperti bait dalam re.findall()". Ralat ini berlaku apabila anda menggunakan corak regex rentetan untuk mencari objek seperti bait, yang sering ditemui semasa bekerja dengan halaman web.
Untuk menyelesaikan isu ini, anda perlu menyahkod objek seperti bait ke dalam rentetan sebelum menggunakan carian regex. Dalam kod yang disediakan:
import urllib.request import re url = "http://www.google.com" regex = r'<title>(,+?)</title>' pattern = re.compile(regex) with urllib.request.urlopen(url) as response: html = response.read().decode('utf-8') # Decode the bytes-like object title = re.findall(pattern, html) print(title)
Dengan menyahkod pembolehubah html menggunakan .decode('utf-8'), kami menukarnya menjadi rentetan Unicode yang boleh diproses oleh corak regex. Ini akan membolehkan kod berjaya mengekstrak tajuk halaman web.
Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan \'TypeError: tidak boleh menggunakan corak rentetan pada objek seperti bait dalam re.findall()\' Apabila Mengekstrak Teks daripada Halaman Web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!