python - 解码波斯网站获取请求的响应
问题描述
我正在编写发送请求和获取网站响应并解析它的内容的函数......但是当我向波斯网站发送请求时,它无法解码它的内容
def gather_links(page_url):
html_string = ''
try:
response = urlopen(page_url)
if 'text/html' in response.getheader('Content-Type'):
html_bytes = response.read()
html_string = html_bytes.decode("utf-8")
except Exception as e:
print(str(e))
显示此错误,例如https://www.entekhab.ir/:
“utf-8”编解码器无法解码位置 1 中的字节 0x8b:无效的起始字节
我怎样才能更改解码此类网站的代码?
解决方案
您应该使用requests而不是 urllib。
import requests
response = requests.get('https://www.entekhab.ir/')
print(response.text)
推荐阅读
- mapbox-gl-js - 如何为每个磁贴请求添加额外的标头和令牌
- php - 在php中将值设为NULL而不是空
- entity-framework - Linq - 创建包含集合的新对象
- flutter - 颤振,cupertinotabview 键盘没有出现
- java - JAVA & SQL 数据库保存更改
- ios - 集合视图 performBatchUpdates 在 swift 中随机崩溃
- python - 无法加载纹理:Guide.png
- owasp - OWASP ZAP 如何通过 ZAP API 发送 POST 请求
- xpath - Scrapy / XPATH:如何仅从后代和自我中提取文本
- python - 如何解决 Django auth 中的重定向不起作用