gpt4 book ai didi

python urllib2 返回垃圾

转载 作者:太空宇宙 更新时间:2023-11-03 14:25:07 25 4
gpt4 key购买 nike

我正在尝试使用 python 下载网页并访问页面上的某些元素。下载页面时遇到问题:内容是垃圾。这是页面的第一行:

‹í}évÛH²æïòSd±ÏmÉ·’¸–%ÕhµÕ%ÙjI¶«JããIÐ(‰îî{æ1æ÷¼Æ¼Í}’ù"à""’‚d÷t»N‰$–\"ãˈŒˆŒÜøqïíîùï'û¬¼­gôÁnžm–úq<ü¹R¹¾¾._›å ìUôv»]¹¡gJÌqÃÍ’‡%z‹[ÎÖ3†[(,jüËȽÚ,í~ÌýX;y‰Ùò×f)æ7q…JzÉì¾F<ÞÅ]­Uª

此问题仅发生在以下网站上:http://kickass.to .他们有没有可能以某种方式保护了他们的页面?这是我的 python 代码:

import urllib2
import chardet
url = 'http://kickass.to/'
user_agent = 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; en-US) AppleWebKit/534.3 (KH
TML, like Gecko) Chrome/6.0.472.63 Safari/534.3'
headers = { 'User-Agent' : user_agent }
req = urllib2.Request(url, None, headers)
response = urllib2.urlopen(req)
page = response.read()
f = open('page.html','w')
f.write(page)
f.close()
print response.headers['content-type']
print chardet.detect(page)

和结果:

text/html; charset=UTF-8
{'confidence': 0.0, 'encoding': None}

它看起来像是编码问题,但 chardet 检测到“无”。有什么想法吗?

最佳答案

此页面以 gzip 编码返回。

(尝试打印出 response.headers['content-encoding'] 来验证这一点。)

网站很可能不尊重请求中的“接受编码”字段,并建议客户端支持 gzip(大多数现代浏览器支持)。

urllib2 不支持压缩,但您可以使用 gzip 模块来实现,例如在这个线程中:Does python urllib2 automatically uncompress gzip data fetched from webpage? .

关于python urllib2 返回垃圾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21961958/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com