首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解码字节似乎不解码

解码字节似乎不解码
EN

Stack Overflow用户
提问于 2017-04-02 14:47:31
回答 1查看 466关注 0票数 0

同时试图获取一个.“学术”网站我在解码方面有困难。我正在使用请求命令:

代码语言:javascript
复制
resp = requests.get(url)
print(resp.content)

编辑:我确实尝试过resp.text

结果是这样的:

代码语言:javascript
复制
"b'\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xdb\x00C\x00\". 

字节。凉爽的。我尝试用提到的各种格式使用.decode("format") (isolatinutfcp),但我没有运气。

以下是其中一些印刷的内容:

utf-8:

代码语言:javascript
复制
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

拉丁语-1:

代码语言:javascript
复制
"ÿØÿàJFIFÿÛC         2! !222222222222222222222222ĵ}"

iso8859_2:

代码语言:javascript
复制
"˙Ř˙ŕJFIF˙ŰC         2!!2222222222"

编辑2:根据这个问答,我不能发布链接,也不能参考网页。

尽管这个问题与解码源代码有关,但如果您能够指出替代解决方案(即,对于我尝试过的其他方法,请参见下文),这也将是很好的。

1)我尝试使用selenium,但以下内容阻止它获得源代码:“由于与Firefox新特性的兼容性问题,可访问性支持部分被禁用。”(问题似乎是登录到站点所需的附加项)

Selenium代码:

代码语言:javascript
复制
driver = webdriver.Firefox()
driver.get(url)
htmlSource = driver.page_source
driver.quit()
soup = BeautifulSoup(htmlSource,'lxml')

2)使用urllib也不起作用,它抛出了HTTPError 302无限循环。我试着用炊具,但没有用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-02 15:25:12

根据https://stackoverflow.com/a/41068125/7432972

在您的情况下,resp.text应该返回Unicode文本。

请回帖,并让我知道这是否有效,因为我以前从未遇到过这个问题,可能是因为我总是使用request_response.text,除非是在将响应输入到bs4时。

编辑:

根据@Ilja_Everilä,您得到了一个作为响应的图像,而不是您正在寻找的源。我会检查您为该请求(resp.status_code)接收到的响应代码,有可能不会达到200,这意味着服务器将返回一些其他消息作为响应。如果是这样的话,将user-agent改为其他东西可能会修复它,尽管该网站似乎不需要requests模块的请求,至少是这样。

或者,更有可能的是,这与你提到的登录所需的那个副词有关。可以通过selenium.webdriver.FirefoxProfile()通过.add_extension('/path/to/addon')添加一个插件。但是,任何形式的插件配置,我都无法控制。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43169669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档