如何以编程方式确定维基百科文章的URL,以获取任何电视节目的剧集列表

时间:2013-05-26 23:03:48

标签: python web-scraping wikipedia

我正在编写一个脚本来根据" X剧集列表中的信息重命名文件"维基百科页面,其中X是电视节目的名称。例如:http://en.wikipedia.org/wiki/List_of_MythBusters_episodes。我使用维基百科API来抓取文章中的数据。

我希望脚本可以处理任何可用的电视节目,但我不知道如何确定该节目是否有维基百科文章。鉴于您要搜索的节目的标题,确定是否存在包含剧集列表的文章的最佳方式是什么,如果存在,请返回URL?我认为最好的方法可能是以某种方式爬过维基百科并开发一个数据库/字典/散列图,将节目链接到各自的文章URL,但我不熟悉如何做这样的事情。

我无法简单猜猜网址是什么,因为例如,Office有美国版本的文章和英国版本的单独文章,有时文章的网址不符合标准格式,像神秘博士使用单词序列而不是剧集。

目前,为了测试一些基本节目,我得到了一个硬编码字典:

shows = {"The Office" : "List_of_The_Office_(U.S._TV_series)_episodes", \
         "Breaking Bad" : "List_of_Breaking_Bad_episodes", \
         "Community" : "List_of_Community_episodes", \
         "Parks and Recreation" : "List_of_Parks_and_Recreation_episodes", \
         "Game of Thrones" : "List_of_Game_of_Thrones_episodes", \
         "Doctor Who (2005+)" : "List_of_Doctor_Who_serials", \
         "Adventure Time" : "List_of_Adventure_Time_episodes", \
         "Suits" : "List_of_Suits_episodes"}

显然,我不想为每个可能的节目进行硬编码。任何建议都表示赞赏!

1 个答案:

答案 0 :(得分:1)

在我看来List of Show Name episodes是你最好的选择。 In the case of Doctor Who,该网页重定向到正确的名称。 In the case of The Office,它是重定向到消歧页面。