Как автоматически изменить URL-адрес на "&page=1", "&page=2", "&page=3" и т. д.

Поэтому я пытаюсь очистить веб-сайт с системой URL следующим образом:

http://www.website.com/browse.php?cat=19&s_tag=1&page=0
http://www.website.com/browse.php?cat=19&s_tag=1&page=1
http://www.website.com/browse.php?cat=19&s_tag=1&page=2

Мое намерение состоит в том, чтобы очистить страницу, затем изменить URL-адрес на следующую страницу, затем очистить, затем на следующую страницу и так далее.

Мой неверный сценарий выглядит следующим образом:

driver.get('http://www.website.com/browse.php?cat=19&s_tag=1&page=0')
while True:
    #code for scraping information

    #code to get to next page
    i=0
    while (f'http://www.website.com/browse.php?cat=19&s_tag=1&page={i}')
        i+=1
    driver.get(f'http://www.website.com/browse.php?cat=19&s_tag=1&page={i}')

Кто-нибудь знает, что я должен делать?

Исключение составляет:

  File "<input>", line 45
    while (f'http://www.website.com/browse.php?cat=19&s_tag=1&page={i}')
                                                                       ^
SyntaxError: invalid syntax

Я упростил весь скрипт и добавил строки для печати, чтобы увидеть, где скрипт висит.

import time
from selenium import webdriver

driver=webdriver.Firefox()
driver.get('https://www.ozbargain.com.au/?page=0')
while True:
    print('sleeping for 5 secs')
    time.sleep(5)
    print('proceeding')

    #code to get to next page
    i=0
    print('i=0 added')
    while (f'https://www.ozbargain.com.au/?page={i}'):
        i+=1
    print('while loop finished')
    driver.get(f'https://www.ozbargain.com.au/?page={i}')
    print('end of loop')

и я получаю это:

sleeping for 5 secs
proceeding
i=0 added

Таким образом, очевидно, что встроенный цикл неисправен.

1 ответ

Вам не хватает : в конце вашего заявления, это должно быть,

while (f'http://www.website.com/browse.php?cat=19&s_tag=1&page={i}'):
Другие вопросы по тегам