pyhton 小白問題求助python 3 6

2021-10-23 06:29:16 字數 3263 閱讀 1067

pyhton 小白問題求助

剛開始學python,對著一本書在學,但是遇到一些問題,由於書上的python版本與我用的版本不一樣,造成編輯出來的程式有問題,請大神幫檢查下問題在**,謝謝!~

import re

import json

def parser_url(self,page_url,response):

pattern=re.compile(r』(

urls=pattern.findall(response)

if urls!=none:

return list(set(urls))

else:

return none

def parser_json(self,page_url,response):

pattern=re.compile(r'=(.*?);')

result=pattern.findall(response)[0]

value=json.loads(result)

try:

isrelease=value.get('value').get('isrelease')

except exception as e:

print(e)

return none

if isrelease:

if value.get('value').get('hotvalue')==none:

return self._parser_release(parser_url,value)

else:

return self._parser_no_release(page_url,value,isrelease=2)

else:

return self._parser_no_release(page_url,value)

def _parser_release(self,page_url,value):

try:

isrelease=1

movierating=value.get('value').get('movierating')

boxoffice=value.get('value').get('boxoffice')

movietitle=value.get('value').get('movietitle')

rpicturefinal = movierating.get('rpicturefinal')

rstoryfinal = movierating.get('rpicturefinal')

rdirectorfinal = movierating.get('rdirectorfinal')

rotherfinal = movierating.get('rotherfinal')

ratingfinal = movierating.get('ratingfinal')

movieid=movierating.get('movieid')

usercount=movierating.get('usercount')

attitudecount=movierating.get('attitudecount')

totalboxoffice=boxoffice.get('totalboxoffice')

totalboxofficeunit=boxoffice.get('totalboxofficeunit')

todayboxoffice=boxoffice.get('todayboxoffice')

todayboxofficeunit=boxoffice.get('todayboxofficeunit')

showdays=boxoffice.get('showdays')

try:

rank=boxoffice.get('rank')

except exception as e:

rank=0

return (movieid,movietitle,ratingfinal,rotherfinal,rpicturefinal,rdirectorfinal,

rstoryfinal,usercount,attitudecount,

totalboxoffice+totalboxofficeunit,

todayboxoffice+todayboxofficeunit,

rank,showdays,isrelease)

except exception as e:

print(e,page_url,value)

return none

def _parser_no_release(self,page_url,value,isrelease=0):

try:

movierating=value.get('value').get('movierating')

movietitle=value.get('value').get('movietitle')

rpicturefinal = movierating.get('rpicturefinal')

rstoryfinal = movierating.get('rpicturefinal')

rdirectorfinal = movierating.get('rdirectorfinal')

rotherfinal = movierating.get('rotherfinal')

ratingfinal = movierating.get('ratingfinal')

movieid = movierating.get('movieid')

usercount = movierating.get('usercount')

attitudecount = movierating.get('attitudecount')

try:

rank=value.get('value').get('hotvalue').get('ranking')

except exception as e:

rank=0

return (movieid,movietitle,ratingfinal,

rotherfinal,rpicturefinal,rdirectorfinal,

rstoryfinal,usercount,attitudecount,u'無',u'無',rank,0,

isrelease)

except exception as e:

print(e,page_url,value)

return none

Python3編碼問題

python3最重要的進步之一就是解決了python2中字串與字元編碼的問題。python2字串的缺陷如下 而python3則把系統預設編碼設定為了 utf 8 import sys sys.getdefaultencoding utf 8 之後,文字字元和二進位制資料分別用str和bytes表示。...

python3編碼問題

編碼問題 在python3中只有兩種資料型別 1 str 編碼形式是unicode,unicode任一字元編碼都存在 2 bytes 編碼形式是十六進製制 編碼encoding utf,gbk都只是一種編碼規則,按照各自的規則進行編碼,可以存在多種編碼規則 s hello中國 在記憶體中是以unic...

python3 編碼問題

asci 碼 8 位unicode 至少兩個位元組 utf 8 為了傳輸而設計的編碼方式 用於網路傳輸 或者儲存 python2 使用ascii編碼,不支援中文 python3 使用utf 8 編碼.文字字元和二進位制資料區分得更清晰,分別用 str 和bytes 表示。文字字元全部用 str 型別...