虽然试图获得...“学术”网站的HTML源,但我在解码时遇到了问题。我使用的请求命令:解码字节似乎没有解码
resp = requests.get(url)
print(resp.content)
编辑:我曾尝试resp.text
的结果是这样的:
"b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\".
字节。凉。我尝试使用.decode("format")
提及各种格式here(iso
,latin
,utf
, cp
)但我没有运气。
下面是其中一些印刷的:
UTF-8:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
拉丁-1:
"ÿØÿàJFIFÿÛC 2! !222222222222222222222222ĵ}"
iso8859_2:
"˙Ř˙ŕJFIF˙ŰC 2!!2222222222"
编辑2:按照this Q&A我不能发布的链接,或参阅网页。
即使这个问题是关于源解码,这也将是巨大的,如果你能对替代解决方案(针对其他方法我试过即,见下文)点
1)我试着使用selenium,但以下内容阻止它获得源代码:“由于Firefox新功能的兼容性问题,部分禁用了辅助功能支持。” (这个问题似乎是需要登录到该网站的上附加)
硒代码:
driver = webdriver.Firefox()
driver.get(url)
htmlSource = driver.page_source
driver.quit()
soup = BeautifulSoup(htmlSource,'lxml')
2)使用的urllib没有任何工作,并把它扔到引发HTTPError 302无限循环。我尝试使用cookiejar,但无济于事。
你有没有试过'utf-16'? – stamaimer
它返回:UnicodeDecodeError:'utf-16-le'编解码器无法解码位置0-1中的字节:非法UTF-16替代物 –
JFIF表示JPEG文件交换格式。您正尝试将图像解码为文本。 –