2015-02-09 2 views
0

Я использую функцию (movies_from_url), чтобы читать фильмы всего 256 с веб-страницы. Каждая страница содержит 50 фильмов. Я должен прочитать первые 6 страниц для этого (5 страниц для 250 фильмов и 6-й страницы для 6 фильмов).чтение нескольких веб-страниц с использованием цикла

первый URL:

http://www.imdb.com/search/title?at=0&sort=user_rating&start=1&title_type=feature&year=2005,2014

Вот мое смутное представление:

def read_m_by_rating(first_year=2005, last_year=2015, top_number=256): 
    current_index=1 # current index is start number of a webpage 
    final_list = [] 
    for _ in xrange(6): 
    url = http://www.imdb.com/search/title?at=0&sort=user_rating&start=current_index&title_type=feature&year=2005,2014 
    if top_number==300: 
     lis = movies_from_url(url, top_number - current_index + 1) 
    else: 
     lis = movies_from_url(url, 50) 

    final_list.append(lis) 
    current_index=+50 
    return final_list 
+2

* С какой проблемой вы сталкиваетесь? Странный код, кстати. Попробуйте сами, а затем спросите. Мы здесь не для того, чтобы писать для вас полные программы. – ForceBru

+0

@ ForceBru, чтобы создать каждый URL. – Alph

+0

Вы говорите о 'for loop здесь, чтобы создать url:'? – ForceBru

ответ

1

Только с помощью простого цикла по CURRENT_INDEX должен работать.

while current_index<256: 
    url = "http://www.imdb.com/search/title?at=0&sort=user_rating&start="\ 
    +str(current_index)+"&title_type=feature&year=2005,2014" 
    ... 
    ... 
    current_index+=50 
return final_list 
+0

@ Ayush Gupta, Этот поток http://stackoverflow.com/questions/818828/is-it-possible-to-implement-a-python-for-range-loop-without-an-iterator-variable?rq=1 говорит о том, чтобы делать что-то х раз. – Alph

+1

Вам необходимо изменить свои фильмы_from_url(), чтобы вы получили количество элементов в «lis» и закончили цикл while на этой основе. –

Смежные вопросы