I have the following scraper: I want to do an action to import the links when I click the button that corresponds to each one.
def ListarPeliculas(win, canvas, box_formulario, paginacion):
canvas.config(bg='#CCC')
#canvas.pack(side=LEFT, pady=20)
canvas.pack(side=LEFT, pady=20)
global scrollbar
scrollbar = Scrollbar(win, command=canvas.yview)
scrollbar.config(bg='#CCC')
scrollbar.pack(side=LEFT, pady=20, fill=Y)
canvas.configure(yscrollcommand=scrollbar.set)
def on_configure(event):
canvas.configure(scrollregion=canvas.bbox('all'))
canvas.bind('<Configure>', on_configure)
box_formulario.config(bg='#CCC', padx=40)
canvas.create_window((0, 0), window=box_formulario, anchor='n')
url = 'https://divxtotal7.com/peliculas/page/'+paginacion.get()
header = var.user_agent
r = requests.get(url, headers=header)
soup = html.fromstring(r.text)
links_posts = soup.xpath('//ul[@class="miniboxs miniboxs-ficha"]//div[@class="meta"]/a/@href')
titulos_posts = soup.xpath('//ul[@class="miniboxs miniboxs-ficha"]//div[@class="meta"]/a/text()')
idiomas = soup.xpath('//ul[@class="miniboxs miniboxs-ficha"]//div[@class="imagen"]//img[@class="lazy"]/@src')
row = 1
count = 0
for link_post, titulo_post, idioma in zip(links_posts, titulos_posts, idiomas):
if idioma == '/images/espanolEspañol.png' or idioma == '/images/espanolEspanol.png':
idioma = 'Español España'
elif idioma == '/images/espanolVOSE.png':
idioma = 'Subtitulado a español'
elif idioma == '/images/espanolEspanol Latino.png':
idioma = 'Español Latino'
numero = Label(box_formulario, text=str(row))
numero.config(bg='#CCC', fg='black', font=('Arial', 10), pady=5)
numero.grid(row=row, column=0, sticky='nw')
#name_peliculas = Label(box_formulario, text=titulo_post)
#name_peliculas.config(bg='#CCC', fg='black', font=('Arial', 8), pady=5)
#name_peliculas.grid(row=row, column=1, sticky='n')
peliculas_listada = Label(box_formulario, text=link_post, textvariable=link_post)
peliculas_listada.config(bg='#CCC', fg='black', font=('Arial', 10), pady=5)
peliculas_listada.grid(row=row, column=1, sticky='n', columnspan=2, padx=60)
idioma_listada = Label(box_formulario, text=idioma)
idioma_listada.config(bg='#CCC', fg='black', font=('Arial', 10), pady=5)
idioma_listada.grid(row=row, column=3, sticky='nw')
importar = Button(box_formulario, text='Importar', command=lambda: [print(link_post)])
importar.config(bg='orange', font=('Arial', 10, 'bold'))
importar.grid(row=row, column=4, sticky='e', padx=25, pady=5)
count += 1
row += 1
but when I get the link I get the last link and not what corresponds to each one
What I get every time I click on any button is the following link, the same one and not the one that corresponds to each one
https://divxtotal7.com/descargar/43813/padre,-soldado,-hijo/
https://divxtotal7.com/descargar/43813/padre,-soldado,-hijo/