Я пытаюсь просканировать название продукта и другую информацию на сайте. Есть категория, а затем страница. На странице есть список товаров. Я щелкаю один из продуктов в списке и сканирую информацию (название и т. Д. c.). После сканирования я нажимаю go, чтобы вернуться к списку. Я нажимаю на следующий один из продуктов в списке, пока не определим c страницу и категорию.
Это моя логика c.
Существует проблема, связанная с 'для i в диапазоне (0,20): 'driver.get(url)
html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
html и в супе есть page_source (информация) о списке товаров, а не информация о товаре. Я пытался получить текущий URL-адрес и получить информацию, но источник продолжает иметь информацию о предыдущей странице.
Мне нужна помощь по этому поводу.
def get_search_page_url(category, page):
return('https://www.missycoupons.com/zero/board.php#id=hotdeals&category={}&page={}'.format(category, page))
def get_prod_items(prod_items):
prod_data = []
for prod_item in prod_items:
try:
title = prod_item.select('div.rp-list-table-row.normal.post')[0].text.strip()
except:
title =''
prod_data.append([title])
return prod_data
#####
driver = webdriver.Chrome('C:/chromedriver.exe')
driver.implicitly_wait(10)
prod_data_total =[]
for category in range(1, 2):
for page in range(1, 2):
url = get_search_page_url(category, page)
driver.get(url)
time.sleep(15)
for i in range(0,20):
driver.find_elements_by_css_selector("div.rp-list-table-cell.board-list.mc-l-subject>a")[i].click()
url=driver.current_url
driver.get(url)
html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
prod_items = soup.select('div#mc_view_title')
prod_item_list = get_prod_items(prod_items)
prod_data_total = prod_data_total + prod_item_list
driver.back()
time.sleep(5)