Python:将URL导入列表

Python:将URL导入列表,python,list,url,Python,List,Url,我正在尝试制作一个python脚本,可以从subscene.com下载我是如何认识你母亲的字幕。 我是Python和编程新手 我想把搜索结果放在一个列表中,然后打印出来,这样用户就可以选择正确的URL。问题是我不知道如何从搜索结果创建列表。有人知道怎么做吗 以下是我迄今为止所做的: import urllib class Subtitle_downloader(object): def __init__(self): self.SearchCriteria = ['H

我正在尝试制作一个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')

您可以使用列表理解:

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))

您可以使用列表理解:

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))

如果您不想使用列表理解(这可能看起来有点复杂),您也可以简单地创建一个空列表,并向其中添加项目:

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

如果您不想使用列表理解(这可能看起来有点复杂),您也可以简单地创建一个空列表,并向其中添加项目:

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

谢谢,这两个答案都很有帮助。但我面临一个新问题:是否有可能让python以子场景中显示的方式打印超链接?请参阅编辑我的回答。使用字符串格式设置您想要的格式。谢谢。这两个答案都非常有用。但我面临一个新问题:是否有可能让python以子场景中显示的方式打印超链接?请参阅编辑我的回答。使用字符串格式设置所需的格式。请检查逻辑。。。是否确实要在项目中显示self.SearchCriteria[0]和self.SearchCriteria[1]?这将检查SearchCriteria[0]是否为真,而不是它是否在项中。请检查逻辑。。。是否确实要在项目中显示self.SearchCriteria[0]和self.SearchCriteria[1]?这将检查SearchCriteria[0]是否为真,而不是它是否在项中。