如何在Selenius python BeautifulSoup上循环多个页面

如何在Selenius python BeautifulSoup上循环多个页面,python,selenium,selenium-webdriver,web-scraping,beautifulsoup,Python,Selenium,Selenium Webdriver,Web Scraping,Beautifulsoup,现在我的代码可以点击页面“”中的每一个产品,这将带我进入每个项目的产品详细信息页面。谁能告诉我如何循环多个页面,如第2页、第3页、第4页?这是我的密码 from selenium import webdriver from selenium.webdriver.chrome.options import Options from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import Web

现在我的代码可以点击页面“”中的每一个产品,这将带我进入每个项目的产品详细信息页面。谁能告诉我如何循环多个页面,如第2页、第3页、第4页?这是我的密码

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from bs4 import BeautifulSoup

#argument for incognito Chrome
option = Options()
option.add_argument("--incognito")


browser = webdriver.Chrome(options=option)

browser.get("https://www.daraz.com.bd/audio/?page=1&spm=a2a0e.home.cate_2.2.49c74591NNpWDU%27")


# Wait 20 seconds for page to load
timeout = 20
try:
    WebDriverWait(browser, timeout).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='c16H9d']")))
except TimeoutException:
    print("Timed out waiting for page to load")
    browser.quit()


soup = BeautifulSoup(browser.page_source, "html.parser")

product_items = soup.find_all("div", attrs={"data-qa-locator": "product-item"})
for item in product_items:
    item_url = f"https:{item.find('a')['href']}"
    print(item_url)

    browser.get(item_url)

    item_soup = BeautifulSoup(browser.page_source, "html.parser")
    # Use the item_soup to find details about the item from its url.
    container = item_soup.find_all("div",attrs={"id":"container"})
    for items in container:
        title = items.find("div",{"class":"pdp-product-title"})
        print(title)



browser.quit()

现在它只能从第1页获取信息。我希望它还可以收集其他页面的信息,如第2页、第3页、第4页、第5页,正如您在网站中看到的那样,当您单击URL中的第2页时,唯一需要更改的是页码,这样可以通过循环轻松完成。 为了获得更好的代码,您可以创建一个名为url的变量,并更改每个页面的url:

for page_num in range(1, 10): # change the range as you want to
    url = "https://www.daraz.com.bd/audio/?page={}&spm=a2a0e.home.cate_2.2.49c74591NNpWDU%27".format(page_num)

然后将其余的代码放在这个循环中(最后一行除外)

每个页面都有一个分页对象,可以将您带到上一页/下一页,等等。我将如何做?如果可能,请用代码解释。谢谢你的帮助comment@FarhanAhmed堆栈溢出不是指南、教程或文档的替代品。感谢Kurosh Ghanizadeh。成功了。请告诉我如何在csv文件中获得输出?我需要编写什么代码才能获得输出?我没有太多的CSV工作,所以我建议只阅读一些文档。这不是一件复杂的事情,你可以很容易地处理它