Python: импортировать URL в список - PullRequest
2 голосов
/ 27 ноября 2011

Я пытаюсь создать скрипт на python, который может загружать субтитры для Как я встретил вашу маму с subscene.com. Я новичок в Python и программировании.

Я бы хотел, чтобы результаты поиска были помещены в список, который впоследствии будет напечатан, чтобы пользователь мог выбрать правильный URL-адрес. Проблема в том, что я не знаю, как создать список из результатов поиска. Кто-нибудь знает, как это сделать?

Вот что я сделал до сих пор:

import urllib

class Subtitle_downloader(object):

    def __init__(self):
        self.SearchCriteria = ['How.I.Met.Your.Mother']
        self.Episode = str(raw_input('Enter episode: '))
        self.Carateristics = str(raw_input('Enter caracteristics: ')) #'HDTV' for an example
        self.SearchCriteria.append('S07E'+self.Episode)
        self.SearchCriteria.append(self.Carateristics)
        print self.SearchCriteria

    def SubDL(self, SubUrl):
        self.AllSubs = urllib.urlopen(SubUrl).readlines()
        for item in self.AllSubs:
            if self.SearchCriteria[0] and self.SearchCriteria[1] in item:
            #Create a list

t=Subtitle_downloader()
t.SubDL('http://subscene.com/How-I-Met-Your-Mother-Seventh-Season/subtitles-90698.aspx')

Ответы [ 2 ]

0 голосов
/ 27 ноября 2011

Если вы не хотите использовать списки (которые могут показаться немного сложными), вы также можете просто создать пустой список и добавить к нему элементы:

def SubDL(self, SubUrl):
    subList = []
    self.AllSubs = urllib.urlopen(SubUrl).readlines()
    for item in self.AllSubs:
        if self.SearchCriteria[0] and self.SearchCriteria[1] in item:
           subList.append(item)
    return subList
0 голосов
/ 27 ноября 2011

Вы можете использовать понимание списка:

def SubDL(self, SubUrl):

    l = [item for item in urllib.urlopen(SubUrl).readlines()
         if self.SearchCriteria[0] in item and self.SearchCriteria[1] in item]
    for item in l:
        print('An item: {}'.format(item))
...