初学... 代码是这样:
from html.parser import HTMLParser
import urllib.request
import chardet
pars = HTMLParser()
home_url = "https://wallstreetcn.com/"
response = urllib.request.urlopen(home_url)
content = response.read()
encoding = chardet.detect(content)
pars.feed(content.decode(encoding["encoding"],errors="ignore"))
chrome 看网页 metadata 里面 charset 用的 utf-8,我这里无论直接用'utf-8' 还是检测编码,均无法正确解码,有点 response 根本就没给出正确数据的感觉。请教一下
1
n329291362 2017-12-17 23:46:54 +08:00 1
1f8b 开头。。。。gzip 压缩啊 最简单的
import gzip gzip.decompress(content) |
2
swordspoet 2017-12-18 00:48:49 +08:00 via iPhone
换一个 HTML 解析器,html.parser 的容错率不高,试试看 lxml
|
3
swordspoet 2017-12-18 00:51:39 +08:00 via iPhone
from bs4 import BeautifulSoup
standard_html = BeautifulSoup(content, 'lxml') 试试看这个~ |
4
free9fw 2017-12-18 09:29:26 +08:00
Accept-Encoding:gzip, deflate, br
|
5
hukangha OP @n329291362
果然... 可是如果是其他的压缩什么的怎么办... 只能这样靠丰富的经验么... |
6
n329291362 2017-12-19 01:50:08 +08:00
|
7
F1024 2017-12-27 15:59:04 +08:00
import os
import requests html = requests.get('https://wallstreetcn.com').content.decode('utf-8') print(html) os.system("pause") 是这个吗 |