Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana untuk Menyelesaikan \'TypeError: tidak boleh menggunakan corak rentetan pada objek seperti bait dalam re.findall()\' Apabila Mengekstrak Teks daripada Halaman Web?

Bagaimana untuk Menyelesaikan \'TypeError: tidak boleh menggunakan corak rentetan pada objek seperti bait dalam re.findall()\' Apabila Mengekstrak Teks daripada Halaman Web?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-25 02:41:11854semak imbas

How to Resolve

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn