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 型別...