Я изучаю веб-скребинг и тренируюсь на example.webscraping.com. Я могу извлечь нужную информацию с одной страницы, но я хотел бы знать, как перебрать несколько страниц самым простым способом. Я использовал подход, чтобы просто использовать отформатированную строку, поскольку единственное различие между страницами - это значение в конце URL-адреса "http://example.webscraping.com/places/default/index/1".
Однако, даже создав целое число и попытавшись ввести его какстрока в URL, в которой есть счетчик для изменения URL после каждого полного цикла цикла, мне не повезло. Я понимаю, что это может быть не общепринятым способом сделать это, но я не знаю других способовПомимо создания словаря и попытки сделать это, но это похоже на открытие еще одной банки с червями. Любой совет с радостью принят, извините, если это обсуждалось ранее, но все посты, которые я нашел, являются слишком сложными для меня, чтобы понять, какновичок. Кроме того, webloop - это функция, в которой я использую цикл for для извлечения всех данных, которые я хочу получить с сайта. Спасибо за ваши предложения. Для дальнейшего использования, если я хочу просмотреть сайт, такой как ebay иамазонка с тем же запросом и просто изменить его после каждого цикла, что лучшеметод подхода?
from bs4 import BeautifulSoup as smoothie
def webloop():
for results in soup.find('div', id='results').find_all('div'):
country = results.a.text
flag = results.a.img
print (country)
print(flag)
print()
pagenum = 1
while pagenum != 4:
source =requests.get('http://example.webscraping.com/places/default/index/pagenum=%s').text %(str(pagenum))
soup = smoothie(source, 'html.parser')
webloop()
pagenum += 1
Я намерен в цикле запрашивать новую страницу при каждой итерации, но получаю эту ошибку ValueError: неподдерживаемый символ формата 'Y' (0x59) с индексом 2159