簡體   English   中英

Python beautifulSoup網頁解碼問題

[英]Python beautifulSoup webpage decode problem

我正在嘗試使用 beautifulSoap4抓取以下兩頁

兩者具有相同的 HTML 結構。 當我加載第一個網頁時,一切都很好,我得到了這個:

<!DOCTYPE html>
<html dir="rtl" lang="fa-IR">
 <head>
  <style id="litespeed-optm-css-rules">
   ...

但是第二個網頁output是這樣的:

Some characters could not be decoded, and were replaced with REPLACEMENT CHARACTER.
      �[s�Ƶ(��_���!��3�+ E:�|���lmI����.UИ��&amp; ���!���p���'ە�����~��?1��̩� f0�\ q�
<u*q�"�f��v�[�^}��~|�����e����4� 94�,4�pf�cӗ��̣[="%��[iv*#��0�T:P�kŃ��rӴ�" c��gm_vv۾l�gz���_���yˏ�����8�qw��ȳԕ�:h����="" �@��;��tʳ�="" �h�:a�="" ��@fy="">
 =���

這是我的 python 代碼:

from urllib.request import Request, urlopen
from bs4 import BeautifulSoup as soup
url = 'https://30nama.kim/top/30nama-movie.html'
req = Request(url , headers={'User-Agent': 'Mozilla/5.0'})
webpage = urlopen(req).read()
page_soup = soup(webpage, "html.parser")
print(page_soup.prettify())

我不知道第二頁發生了什么,這些字符是什么意思。 我想我應該嘗試使用 utf-8 對其進行解碼,但它沒有用。 有任何想法嗎?

BeautifulSoup 使用 Unicode,該死的檢測編碼。 這並不總是正確的。

我手動輸入編碼並且它起作用了:

page_soup = soup(webpage, "html.parser", from_encoding="ISO-8859-7")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM