Как автоматически изменить 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}'):