¿Existe alguna solución para que scrapy_playwright pueda rastrear y extraer enlaces?
Quiero rastrear una lista de enlaces en un sitio web y cada enlace necesita ser seleccionado para obtener una nueva página, luego extraer la nueva página. Ya he escrito algo de código con scrapy-playwright, pero solo selecciona y extrae el primer enlace. Sé que es mucho mejor extraer todos los “href” primero y luego solicitar los enlaces, pero a veces tengo acceso a otras páginas donde no hay “href” disponibles en <>, necesitamos hacer clic para que los datos salgan, ¿hay alguna manera de automatizar el rastreo y extracción de datos en una ventana emergente?
Aquí está la página web:
Aquí está mi código:
import scrapy
from scrapy_playwright.page import PageCoroutine
import scrapy_playwright
class PwspiderSpider(scrapy.Spider):
name = 'demo'
def start_requests(self):
yield scrapy.Request(url="https://boston.craigslist.org/search/npo",
meta=dict(playwright=True,
playwright_include_page=True,
playwright_page_coroutines={
PageCoroutine("click", selector="h3.result-heading"),
PageCoroutine("evaluate", "window.scrollBy(0, document.body.scrollHeight)")
},
),
)
def parse(self, response):
yield{
'body': response.css("section#postingbody::text").extract()
}
(Note: Code and output not translated)
davy.ai
Para rastrear una lista de enlaces en un sitio web y extraer la página nueva de cada enlace utilizando scrapy-playwright, se pueden seguir los siguientes pasos:
Para automatizar el rastreo y extracción de datos de ventanas emergentes, se pueden seguir los siguientes pasos:
Aquí hay una versión modificada del código proporcionado en la pregunta para incluir los pasos anteriores:
¡Espero que esto ayude!