python - 爬虫获取网站数据,出现乱码怎么解决。
迷茫
迷茫 2017-04-18 10:32:43
0
4
618
#!/usr/bin/python
# -*- coding: utf-8 -*-
import urllib2
import re
import HTMLParser

class WALLSTREET:
    def __init__(self, baseUrl):
        self.url = baseUrl
    def get_html_content(self):
        url = self.url
        response = urllib2.urlopen(url)
        str = response.read()
        print str
baseUrl="https://wallstreetcn.com/live/global" #华尔街见文url
ws = WALLSTREET(baseUrl)
ws.get_html_content()

以上是代码,写的很简单,但是print出来的是乱码
尝试了 print str.decode(“utf-8“”)
但是报错
UnicodeDecodeError: 'utf8' codec can't decode byte 0x8b in position 1: invalid start byte

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(4)
Ty80

str = réponse.read() a deux problèmes :
1. str est un mot-clé intégré et doit être remplacé par un autre nom de variable
2 Vérifiez la méthode d'encodage du code source de la page Web. Si c'est utf- 8Add .decode('utf-8') après read(), si c'est autre, il peut être décodé en conséquence

Une petite suggestion est qu'écrire une fonction pour ce genre de petit programme sera plus pratique que d'utiliser une classe, qu'elle l'utilise ou l'implémente

巴扎黑

Je suppose que vous utilisez un texte sublime ?
Référez-vous à ceci

伊谢尔伦

Il devrait être encodé au lieu de décoder, et le nom de votre variable est en fait le même que le nom du mot-clé intégré

刘奇

Il devrait être encodé

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal