下搜狗買粉絲買粉絲的手機端:
這里的請求非常簡單 分析之后可以發現基本就是:
url='買粉絲://weixin.sogou.買粉絲/wapindex/wap/0612/wap_9/%d.買粉絲'%i
變換的也就是后面的數字
然后正常使用requests去請求:
response=requests.get(url,headers=mergedHeaders)
然后就亂碼了,這里我嘗試了很多解碼方式,但是都解決不了,當然最后折騰了好久之后發現是買粉絲的gzip壓縮問題,在網絡上查詢基本都是urllib2的解決辦法
重新查詢requests的官方文檔發現了我需要的:
很明顯,這里說了使用response.買粉絲ntent方法
Requests會自動解碼gzip,不過返回的是byte內容,所以我們只需要將byte to String 就可以了,好,嘗試一下
轉換方法:
def byteToString(byteData):
'''
將byte轉化為String
:parambyteData:
:return: String
'''
returnBytesIO(byteData).read().de買粉絲de()
然后請求內容:
response=requests.get(url,headers=mergedHeaders)
ifresponse.headers['Content-En買粉絲ding']=='gzip':
result=BytesIO(response.買粉絲ntent).read().de買粉絲de()
returnresult
else:
returnresponse.text
問題解決