[Çözüldü] Kodların açıklamasını yapabilirmisiniz?

Başlatan cantug, 11 Ağustos 2012 - 12:58:24

« önceki - sonraki »

0 Üyeler ve 2 Ziyaretçi konuyu incelemekte.

cantug

if(page=='category_page'):
page_nr = ''
page = url.split('/')
if(len(page)==6 and page[3]=='page'):
page_nr= ' SAYFA ' + page[4]
if (len(page)==4 and page[1]=='page'):
page_nr= ' SAYFA ' + page[2]
self.playlistname = self.playlist_cat_name + page_nr
self.video_list = self.get_megasinema_category_films(url)
self.category_back_url = url       



Arkadaşlar yukarıdaki kod listesi içerisinde yer alan şu bölümü açıklayabilirseniz çok sevinirim.
page_nr = ''
page = url.split('/')
if(len(page)==6 and page[3]=='page'):
page_nr= ' SAYFA ' + page[4]
if (len(page)==4 and page[1]=='page'):
page_nr= ' SAYFA ' + page[2]

Cevaplarınız için şimdiden teşekkür ederim.

hitokiri

page_nr eşittir ""
page = url.split('/') #url'den "/" işaretçisini sil
#Eğer page değişkenini karakter sayısı 6'ya eşitse ve aynı zamanda page üzerinde 3. argüman "page"'e eşitse
if(len(page)==6 and page[3]=='page'):
   page_nr= ' SAYFA ' + page[4]

Gerisi için ayrıca bir açıklamaya gerek yok zaten.
Ayrıca bağlantıyı incelemen faydalı olacaktır.
http://www.istihza.com/py2/kosul.html#if-deyimi

cantug

Cevabınız için teşekkür ederim.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 11 Ağustos 2012 - 13:15:54

sayın hitokiri; cancay@hotmail.com.tr eklerseniz sevinirim.

hitokiri

#3
@cantug eğer bir sorunun varsa burdan yardımcı olmak daha anlaşılabilir olur, çünkü senin yaşadığın sorunları yaşayan başkalarıda olablir ancak konu tam olarak öğrenmeden anlamaya çalışmak olduğu için kendi çabalarınızın karşılığını zamanla alabileceğinizi belirtmek isterim..
Eğer sorununuz çözüldü ise ;
http://forum.ubuntu-tr.net/index.php?topic=31789.0
Bağlantıyı incelemenizde yarar var, eğer başka sorularınız varsa elbet yardımcı olmak isteyen veya uygun olduğunda yardım etmeyi düşünen kişilerde olabilir.

cantug

#4
İlginize çok teşekkür ederim, sorunum çözülmedi malasef, kodların tamamı aşağıda sorunum genel olarak şu;
bicaps.com sitesinden verileri çekerken kategori sayfasında  sayfalar arasında  ilerleyebiliyor iken megasinema.net üzerinde bunu yapamıyorum.



[code# nitrogen14 - www.pristavka.de
from xml.etree.cElementTree import fromstring, ElementTree
import urllib2
import urllib as ul
import os, re
from datetime import datetime
from time import time
#ADD EXTERNAL MODUL
from nStreamModul_vkontakte import html_parser_vkontakte
from nStreamModul_vizor_tv import html_parser_vizor_tv

def debug(obj, text=''):
print datetime.fromtimestamp(time()).strftime('[%H:%M:%S]')
print '%s' % text +  ' %s\n' % obj

def mod_request(url, param = None):
url = 'http://' + url
html = ''
try:
debug(url, 'MODUL REQUEST URL')
req = urllib2.Request(url, param, {'User-agent': 'Mozilla/5.0 nStreamVOD 0.1', 'Connection': 'Close'})
html = urllib2.urlopen(req).read()
#print html
except Exception, ex:
print ex
print 'REQUEST Exception'
return html

     
class html_parser_moduls:

def __init__(self):
self.video_list = []
self.next_page_url = ''
self.next_page_text = ''
self.prev_page_url = ''
self.prev_page_text = ''
self.search_text = ''
self.search_on = ''
self.active_site_url = ''
self.playlistname = ''
self.playlist_cat_name = ''
self.kino_title = ''
self.category_back_url = ''
self.error = ''


def reset_buttons(self):
self.kino_title = ''
self.next_page_url = None
self.next_page_text = ''
self.prev_page_url = None
self.prev_page_text = ''
self.search_text = ''
self.search_on = None

def get_list(self, url):
debug(url, 'MODUL URL: ')
self.reset_buttons()


#SWITCH bicaps ################################################################################################################

if(url.find('bicaps.com')>-1):
debug('#SWITCH filmsehri.com #')
parts = url.split('@')
#print parts
url = parts[0]
page = parts[1]
name = parts[2].encode('utf-8')

self.active_site_url = 'bicaps.com'

if(page=='start'):
self.playlistname = name
self.video_list = self.get_bicaps_categories(url)

if(page=='category'):
self.playlist_cat_name = name
self.playlistname = 'bicaps.com : ' + self.playlist_cat_name
self.video_list = self.get_bicaps_category_films(url)
self.category_back_url = url
self.category_title = name

if(page=='category_page'):
page_nr = ''
page = url.split('/')
if(len(page)==6 and page[3]=='page'):
page_nr= ' SAYFA ' + page[4]
if (len(page)==4 and page[1]=='page'):
page_nr= ' SAYFA ' + page[2]
self.playlistname = self.playlist_cat_name + page_nr
self.video_list = self.get_bicaps_category_films(url)
self.category_back_url = url       

if(page=='film'):
self.kino_title = name
self.playlistname = self.playlist_cat_name + ' ' + name
self.video_list = self.get_bicaps_film(url)
       


#SWITCH megasinema ################################################################################################################

if(url.find('megasinema.net')>-1):
debug('#SWITCH filmsehri.com #')
parts = url.split('@')
#print parts
url = parts[0]
page = parts[1]
name = parts[2]

self.active_site_url = 'megasinema.net'

if(page=='start'):
self.playlistname = name
self.video_list = self.get_megasinema_categories(url)

if(page=='category'):
self.playlist_cat_name = name
self.playlistname = 'megasinema.net : ' + self.playlist_cat_name
self.video_list = self.get_megasinema_category_films(url)
self.category_back_url = url
self.category_title = name

if(page=='category_page'):
page_nr = ''
page = url.split('/')
if(len(page)==6 and page[3]=='page'):
page_nr= ' SAYFA ' + page[4]
if (len(page)==4 and page[1]=='page'):
page_nr= ' SAYFA ' + page[2]
self.playlistname = self.playlist_cat_name + page_nr
self.video_list = self.get_megasinema_category_films(url)
self.category_back_url = url       

if(page=='film'):
self.kino_title = name
self.playlistname = self.playlist_cat_name + ' ' + name
self.video_list = self.get_megasinema_film(url)

########################################################################
return self.video_list  ########################################
########################################################################



# FUNCTIONS bicaps.com ###############################################################################################################

def get_bicaps_categories(self, url):
print 'get_sinemaizle_categories'
try:             
page = mod_request(url).encode('utf-8')
video_list_temp = []
chan_counter = 1

new = (
chan_counter,
'Yeni Eklenenler',
None,
'http://bicaps.com/bicapslogo.png',
None,
'nStreamModul@' + self.active_site_url + '@category@YENI EKLENENLER',
None,
'http://bicaps.com/bicapslogo.png',
'',
None,
None
)
video_list_temp.append(new)

regex1 = re.findall(r'<li.*?class="cat-item.*?cat-item-\d+"><a.*?href="http:\/\/(.*?)".*?title=".*?">(.*?)<\/a>',page)


for text in regex1:
title = text[1]
url = text[0]
chan_counter +=1
chan_tulpe = (
chan_counter,
title,
None,
'http://bicaps.com/bicapslogo.png',
None,
'nStreamModul@' + url + '@category@' + title,
None,
'http://bicaps.com/bicapslogo.png',
'',
None,
None
)
video_list_temp.append(chan_tulpe)

if(len(video_list_temp)<1):
print 'ERROR filmsehri CAT LIST_LEN = %s' %  len(video_list_temp)
except:
print 'ERROR get_filmsehri_category'       

return video_list_temp 


def get_bicaps_category_films(self, url):
print 'get_sinemaizle_category_films'
try:             
page = mod_request(url).encode('utf-8')
print page
video_list_temp = []
chan_counter = 0

#regex = re.findall(r'<a.*?href="http:\/\/(.*?)".*?rel="bookmark".*?title="(.*?)\|.*?"><img.*?src="(.*?)".*?height="\d+".*?width="\d+".*?alt=.*?\/><\/a>',page)
#regex = re.findall(r'<a.*?href="http:\/\/(.*?)".*?rel="bookmark".*?title="(.*?)\|.*?"><img.*?src="(.*?)&w=\d+&h=\d+&zc=\d+"<\/a>',page)
regex = re.findall(r'<a.*?href="http:\/\/(.*?)">\s*<.*?img.*?src="(.*?)".*?alt="(.*?)\|.*?".*?height=".*?".*?width=".*?".*?\/>.*?<\/a>\s*<div.*?class="movie\w">',page)
print regex

for text in regex:

url = text[0]
title = text[2]
title = re.sub('#8211;', '', title)
img_url =  text[1]
#print img_url
#descr =  text[3]
chan_counter +=1
chan_tulpe = (
chan_counter,
title,
None,
img_url,
None,
'nStreamModul@' + url + '@film@' + title,
None,
img_url,
'',
None,
None

video_list_temp.append(chan_tulpe)


next = re.findall(r"\.\.\.<\/span><a.*?href=\"(.*?)\"", page)
prev = re.findall(r"<a.*?href=\"(.*?)\".*?class=\"previouspostslink\">", page)
if len(next):
self.next_page_url = next[-1].replace('http://', 'nStreamModul@') + '@category_page@' + self.playlist_cat_name
self.next_page_text = 'SONRAKI'

if len(prev):
self.prev_page_url = prev[0].replace('http://', 'nStreamModul@') + '@category_page@' + self.playlist_cat_name
self.prev_page_text = 'ONCEKI'
else:
self.prev_page_url = 'nStreamModul@bicaps.com@start@BICAPS KATEGORILER'
self.prev_page_text = 'KATEGORILER'                                                               



if(len(video_list_temp)<1):
print 'ERROR sinemaizle CAT_FIL LIST_LEN = %s' %  len(video_list_temp)   
except:
print 'ERROR get_sinemaizle_category_films'       

return video_list_temp


def get_bicaps_film(self, url):
print 'get_sinemaizle_film'
page = mod_request(url)
#page = re.sub('\n','', page)
chan_counter = 0
video_list_temp = []
vk = re.findall(r'<p><iframe.*?src="(.*?)" width="\d+" height="\d+" frameborder="\d+"><\/iframe><\/p>',page)
descr = re.findall(r'<div.*?class="konuozet">\s*<p><\/p>\s*(.*?)\s*<\/div>',page)
img = re.findall(r'<img.*?src="(.*?)".*?alt=".*?".*?height=".*?" width=".*?".*?\/>',page)
url2 = re.findall(r'Part.*?<\/span>.*?<a.*?href="http:\/\/(.*?)">.*?<span>',page)
for link in url2:
page2 = mod_request(link)
vk2 = re.findall(r'<p><iframe.*?src="(.*?)".*?width=".*?".*?height=".*?".*?frameborder=".*?"><\/iframe><\/p>',page2)
for ll in vk2:
vk.append(ll)
if len(descr):
aciklama = descr[0]
else:
aciklama="Konu mevcut degil"
#url4 =re.sub("#038;", "", vk[0])
if(len(vk)>0):
for text in vk:
text=text.replace("#038;", "")
chan_counter = chan_counter + 1
chan_tulpe = (
chan_counter,
self.kino_title + ' Parca : ' + str(chan_counter),
aciklama,
img[0],
text,
None,
None,
img[0],
'',
None,
None
)
video_list_temp.append(chan_tulpe)


self.prev_page_url = 'nStreamModul@' + self.category_back_url + '@category_page@' + self.playlist_cat_name
self.prev_page_text = self.playlist_cat_name   

return video_list_temp 

# FUNCTIONS megasinema.net ###############################################################################################################

def get_megasinema_categories(self, url):
print 'get_sinemaizle_categories'
try:             
page = mod_request(url).encode('utf-8')
video_list_temp = []
chan_counter = 1

new = (
chan_counter,
'Yeni Eklenenler',
None,
'http://www.megasinema.net/wp-content/themes/tahamata/images/logo.png',
None,
'nStreamModul@' + self.active_site_url + '@category@YENI EKLENENLER',
None,
'http://www.megasinema.net/wp-content/themes/tahamata/images/logo.png',
'',
None,
None
)
video_list_temp.append(new)

regex1 = re.findall(r'<li.*?class="cat-item.*?cat-item-\d+"><a.*?href="http:\/\/(.*?)".*?title=".*?">(.*?)<\/a>',page)


for text in regex1:
title = text[1]
url = text[0]
chan_counter +=1
chan_tulpe = (
chan_counter,
title,
None,
'http://www.megasinema.net/wp-content/themes/tahamata/images/logo.png',
None,
'nStreamModul@' + url + '@category@' + title,
None,
'http://www.megasinema.net/wp-content/themes/tahamata/images/logo.png',
'',
None,
None
)
video_list_temp.append(chan_tulpe)

if(len(video_list_temp)<1):
print 'ERROR filmsehri CAT LIST_LEN = %s' %  len(video_list_temp)
except:
print 'ERROR get_filmsehri_category'       

return video_list_temp 


def get_megasinema_category_films(self, url):
print 'get_sinemaizle_category_films'
try:             
page = mod_request(url).encode('utf-8')
print page
video_list_temp = []
chan_counter = 0

#regex = re.findall(r'<a.*?href="http:\/\/(.*?)".*?rel="bookmark".*?title="(.*?)\|.*?"><img.*?src="(.*?)".*?height="\d+".*?width="\d+".*?alt=.*?\/><\/a>',page)
#regex = re.findall(r'<a.*?href="http:\/\/(.*?)".*?rel="bookmark".*?title="(.*?)\|.*?"><img.*?src="(.*?)&w=\d+&h=\d+&zc=\d+"<\/a>',page)
regex = re.findall(r'<a href="http:\/\/(.*?)" title=".*?">\s*<img width="\d+" height="\d+" src="(.*?)" class=".*?" alt="(.*?)" title=".*?" \/><\/a>',page)
print regex

for text in regex:

url = text[0]
title = text[2]
#title = re.sub('#8211;', '', title)
img_url =  text[1]
#print img_url
#descr =  text[3]
chan_counter +=1
chan_tulpe = (
chan_counter,
title,
None,
img_url,
None,
'nStreamModul@' + url + '@film@' + title,
None,
img_url,
'',
None,
None

video_list_temp.append(chan_tulpe)


next = re.findall(r"<a class=\"next page-numbers\" href=\"http:\/\/(.*?)\">.*?<\/a><\/div>", page)
prev = re.findall(r"<a class=\"prev page-numbers\" href=\"http:\/\/(.*?)\">.*?<\/a><\/div>", page)
if len(next):
self.next_page_url = next[0].replace('http://', 'nStreamModul@') + '@category_page@' + self.playlist_cat_name
self.next_page_text = 'SONRAKI'

if len(prev):
self.prev_page_url = prev[0].replace('http://', 'nStreamModul@') + '@category_page@' + self.playlist_cat_name
self.prev_page_text = 'ONCEKI'
else:
self.prev_page_url = 'nStreamModul@megasinema.net@start@MEGASINEMA KATEGORILER'
self.prev_page_text = 'KATEGORILER'                                                               



if(len(video_list_temp)<1):
print 'ERROR sinemaizle CAT_FIL LIST_LEN = %s' %  len(video_list_temp)   
except:
print 'ERROR get_sinemaizle_category_films'       

return video_list_temp


def get_megasinema_film(self, url):
print 'get_sinemaizle_film'
page = mod_request(url)
#page = re.sub('\n','', page)
chan_counter = 0
video_list_temp = []
vk = re.findall(r'<p><iframe.*?src="(.*?)" width="\d+" height="\d+" frameborder="\d+"><\/iframe><\/p>',page)
descr = re.findall(r'<div.*?class="konuozet">\s*<p><\/p>\s*(.*?)\s*<\/div>',page)
img = re.findall(r'<img.*?src="(.*?)".*?alt=".*?".*?height=".*?" width=".*?".*?\/>',page)
url2 = re.findall(r'Part.*?<\/span>.*?<a.*?href="http:\/\/(.*?)">.*?<span>',page)
for link in url2:
page2 = mod_request(link)
vk2 = re.findall(r'<p><iframe.*?src="(.*?)".*?width=".*?".*?height=".*?".*?frameborder=".*?"><\/iframe><\/p>',page2)
for ll in vk2:
vk.append(ll)
if len(descr):
aciklama = descr[0]
else:
aciklama="Konu mevcut degil"
#url4 =re.sub("#038;", "", vk[0])
if(len(vk)>0):
for text in vk:
text=text.replace("#038;", "")
chan_counter = chan_counter + 1
chan_tulpe = (
chan_counter,
self.kino_title + ' Parca : ' + str(chan_counter),
aciklama,
img[0],
text,
None,
None,
img[0],
'',
None,
None
)
video_list_temp.append(chan_tulpe)


self.prev_page_url = 'nStreamModul@' + self.category_back_url + '@category_page@' + self.playlist_cat_name
self.prev_page_text = self.playlist_cat_name   

return video_list_temp 

                           
# chan_tulpe = (
# chan_counter,
# name,
# description,
# picon_url,
# stream_url,
# playlist_url,
# category_id,
# img_src,
# description4playlist_html,
# protected
# ts_stream (IPTV quickzapping)
# )
# iptv_list_temp.append(chan_tulpe) ]

canosayan

Sanki split kısmında hata olmuş.

Kategori sayfası ise url slashlardan bölünüyor. Ve eğer altı bölümden oluşuyorsa ve 3 page ise sayfalama yapıyor.
sayfalara bakamadım ama page[3]=="page" kısmında bir aıkıntınız olmasın.. sizin sisteminizde de urlin üçüncü parçası page mi?
Chmod bizim işimiz.

cantug

Alıntı yapılan: canosayan - 11 Ağustos 2012 - 13:51:53
Sanki split kısmında hata olmuş.

Kategori sayfası ise url slashlardan bölünüyor. Ve eğer altı bölümden oluşuyorsa ve 3 page ise sayfalama yapıyor.
sayfalara bakamadım ama page[3]=="page" kısmında bir aıkıntınız olmasın.. sizin sisteminizde de urlin üçüncü parçası page mi?
sayın canosayan; cevaplarınız için teşekkür ederim ben işin içinden çıkmadım sizden ricam sayfalara bakabilirseniz sevinirim.

burk

@cantug son iletinizi göz önünde bulundurarak neden başlığı etiketlediğinizi sormak istiyorum.