with tutorial script scraping scrap con code python for-loop web-scraping beautifulsoup screen-scraping

python - tutorial - Scraping mĂșltiples enlaces paginados con BeautifulSoup y solicitudes



scraping python 3 (1)

Su botón de la página siguiente tiene un título de "Siguiente", podría hacer algo como:

import requests from bs4 import BeautifulSoup as bs url = ''www.dabs.com/category/computing/11001/'' base_url = ''http://www.dabs.com'' r = requests.get(url) soup = bs(r.text) elm = soup.find(''a'', {''title'': ''Next''}) next_page_link = base_url + elm[''href'']

Espero que ayude.

Python Beginner aquí. Estoy intentando raspar todos los productos de una categoría en dabs.com . Logré eliminar todos los productos en una página determinada, pero tengo problemas para iterar sobre todos los enlaces paginados.

En este momento, traté de aislar todos los botones de paginación con la clase span = ''page-list'' pero incluso eso no funciona. Idealmente, me gustaría hacer que el rastreador continúe haciendo clic hasta que haya eliminado todos los productos todas las páginas. ¿Cómo puedo hacer esto?

Realmente aprecio cualquier entrada

from bs4 import BeautifulSoup import requests base_url = "http://www.dabs.com" page_array = [] def get_pages(): html = requests.get(base_url) soup = BeautifulSoup(html.content, "html.parser") page_list = soup.findAll(''span'', class="page-list") pages = page_list[0].findAll(''a'') for page in pages: page_array.append(page.get(''href'')) def scrape_page(page): html = requests.get(base_url) soup = BeautifulSoup(html.content, "html.parser") Product_table = soup.findAll("table") Products = Product_table[0].findAll("tr") if len(soup.findAll(''tr'')) > 0: Products = Products[1:] for row in Products: cells = row.find_all(''td'') data = { ''description'' : cells[0].get_text(), ''price'' : cells[1].get_text() } print data get_pages() [scrape_page(base_url + page) for page in page_array]