recherche

Maison  >  Questions et réponses  >  le corps du texte

python - 爬虫获取网站数据,出现乱码怎么解决。

#!/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

迷茫迷茫2876 Il y a quelques jours651

répondre à tous(4)je répondrai

  • PHP中文网

    PHP中文网2017-04-18 10:34:43

    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

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:34:43

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

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:34:43

    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é

    répondre
    0
  • 怪我咯

    怪我咯2017-04-18 10:34:43

    Il devrait être encodé

    répondre
    0
  • Annulerrépondre