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
Lepaskan: 2024-11-25 02:41:11
asal
795 orang telah melayarinya

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)
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan