python – ¿Cómo cargo una pagina con requests?

Quiero cargar el contenido de una tabla por medio de requests en python este es mi codigo


import requests, bs4

def abrir_pagina(palabra,url):
    res = requests.get(url)
    res.raise_for_status()
    tabla = bs4.BeautifulSoup(res.text,"html.parser")
    elementos = tabla.select('table > tbody > tr > td')
    print('-----------')
    print("elementos de la palabra {} y pagina {}".format(palabra,url))
    print(len(elementos))
    for iter in elementos:
        print(iter.getText())
    print('-----------')
    return elementos
    
#recorrer_paginas('camisa')

palabra = 'camisa'
lista = abrir_pagina(palabra,'https://www.ingles.com/ejemplos/{}?lang=es&pagina={}'.format(palabra,'5'))

El problema es que por mas que cambie el numero de pagina de la url, el contenido que me devuelve es de la primera pagina.

Python: obtencion de datos de un archivo de texto con metodo startswith

estoy escribiendo un script donde le pido al usuario ingresar un archivo con muchos datos y cree un archivo nuevo con los datos que el necesite. Pero tengo un error que no se como solucionarlo(estoy aprendiendo a programar con Python), al crear el archivo me deja solo el ultimo dato obtenido en ves de todos los datos, este es mi código:

NA = input("introduce el nombre del archivo con extensión txt: ")
ARCH = open(NA)
pregunt = input("desa crear un archivo nuevo? si, no: ")
if pregunt == "si":
    NAME = input("que nombre desea ponerle?: ")
    DAT = input("que datos desea obtener: ")
    for AD in ARCH:
        if AD.startswith(DAT):
            ADR = AD
            DEA = (ADR)
            DEA.append(ADR)
            AR = open(NAME, "w")
            AR.write(DEA)
            AR.close()
else:
   DAT = input("que datos desea obtener")
   for ADR in ARCH:
       if ADR.startswith(DAT):
                ADR = AD
                DEA = (ADR)
                DEA.append(ADR)
                AR = open(AA, "w")
                AR.write(DEA)
                AR.close()

html – Hola buenas tardes, es para una tarea de mi carrera con este lenguaje

¡Gracias por contribuir en StackOverflow en español con una respuesta!

  • Por favor, asegúrate de responder a la pregunta. ¡Proporciona información y comparte tu investigación!

Pero evita

  • Pedir ayuda o aclaraciones, o responder a otras respuestas.
  • Hacer declaraciones basadas en opiniones; asegúrate de respaldarlas con referencias o con tu propia experiencia personal.

Para obtener más información, consulta nuestros consejos sobre cómo escribir grandes respuestas.

javascript – Mover un objeto canvas con Jquery

$("#ancho").bind('keyup mouseup', function () {
    var ancho = $("#ancho").val();     
    $("#c").css("width", ancho);     
});
$("#alto").bind('keyup mouseup', function () {
    var alto = $("#alto").val();     
    $("#c").css("height", alto);     
});
$("#horizontal").bind('keyup mouseup', function () {
    var horizontal = $("#horizontal").val();     
    $("#c").css("left", horizontal);     
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<style>
canvas {
    border: 1px dashed rgb(195 195 195);
    margin: 10px 0px 0px 0px;
    position: absolute;
    right: 0px;
    width: 150px;
    left: 50%;
    transform: translate(-50%, -50%);
    top: 50%;
    height: 150px;
}
</style>

<div class="row">
    <div class="col-6">
        <div class="form-group">
            <label>Ancho</label>
            <input type="number" class="form-control" value="150" id="ancho">
        </div>
    </div>
    <div class="col-6">
        <div class="form-group">
            <label>Alto</label>
            <input type="number" class="form-control" value="150" id="alto">
        </div>
    </div>
    <div class="col-6">
        <div class="form-group">
            <label>Horizontal</label>
            <input type="number" class="form-control" value="50" id="horizontal">
        </div>
    </div>
</div>

<div class="center" style="text-align: center;>
   <span style="position: relative">
      <img src="https://www.sudeporte.com/13755-thickbox_default/sudadera-capucha-keya-100-negro.jpg" alt="" id="img_producto">
      <canvas id="c" style="width: 152px; height: 176px;"></canvas>
   </span>
</div>

apache2 – Desplegando app laravel en VPS con Apache

En el archivo 000-default de apache redirecciono de esta forma mi aplicacion.

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/App-web-facturas/public
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Pero al dirigirme a la direccion de mi proyecto lo que me muestra es el contenido del index.php

introducir la descripción de la imagen aquí

Script con variables que ejecute Docker

Soy estudiante de ciclo superior de Informatica.

Quisiera saber si es factible crear un script (con variables de entorno) que sea capaz de crear un docker (wordpress) personalizado.

Me explico:

Tener un script con unos datos tipo nombre, BBDD, user, passw y este sea capaz de crear un contenedor de Docker con esos datos.

Que os parece?

Gracias

php – Problema al grabar registros con getters

trabajador.php: Aquí recibimos las variables del formulario.

$trabajadorVO = new TrabajadorVO();
$trabajadorVO->set_nom_trab($_POST('nom'));
$trabajadorVO->set_ape_trab($_POST('ape'));
$trabajadorVO->set_fec_ini($_POST('fec'));
$trabajadorVO->set_sueldo($_POST('sue'));

$trabajadorDAO = new TrabajadorDAO();
$trabajadorDAO->insertar($trabajadorVO);

trabajadorDAO:

public function insertar($trabajadorVO) {
    try {
        $bd = new ConexionDB();
        $sql = "INSERT INTO sc_usuario (nom_trab, ape_trab, fec_ini, sueldo) //No considero el campo ID por ser autoincremental
                    VALUES (:nom_trab, :ape_trab, :fec_ini, :sueldo)";

            $bd = new ConexionDB();
            $stmt = $bd->prepare($sql);
            $stmt->bindParam(':nom_trab', $trabajadorVO->get_nom_trab(), PDO::PARAM_STR);
            $stmt->bindParam(':ape_trab', $trabajadorVO->get_ape_trab(), PDO::PARAM_STR);
            $stmt->bindParam(':fec_ini', $trabajadorVO->get_fec_ini(), PDO::PARAM_STR);
            $stmt->bindParam(':sueldo', $trabajadorVO->get_sueldo(), PDO::PARAM_INT);
            $stmt->execute();
        
        } catch (Exception $e) {
            die ('NO SE PUDO GRABAR');
        }
}

Tabla:

CREATE TABLE `trabajador` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `nom_trab` varchar(25) NOT NULL,
  `ape_trab` varchar(25) NOT NULL,
  `fec_ini` date NOT NULL,
  `sueldo` decimal(10,2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Y en cada línea de los bindParam() me muestra Notice: Only variables should be passed by reference y finalmente el mensaje del die (‘NO SE PUDO GRABAR’);

Edición 1: Hay una pregunta similar: Pregunta que es similar, sin embargo en mi caso yo utilizo un objeto VO y getters para asignar los valores y creo que eso causa mi problema.

jquery – Problema en SwiperJS con slides duplicados

Si observan el comportamiento del slider a continuación, cuando cambian los slides (puede ser dando click en las flechas, en los circulos, o scrolleando), se le aplica la clase .active al circulo que está al medio.
Si scrollean hasta cierto punto (si van hacia la derecha, el error se observa al llegar al circulo rojo. Si van hacia la izquierda el error se ve en el circulo verde) van a notar que la clase active no se está aplicando correctamente, debido a que la libreria swiperJS crea slides duplicados, y estos no se comportan de la manera que espero.

Alguien sabe como hacer que mi js se aplique tambien a los slides duplicados?

 // COLORES
  $(".circulo-color").first().addClass("active");
  $(".btn-version").first().addClass("active");

  $(".circulo-color").on("click", function () {
    $(".circulo-color").removeClass("active");
    $(this).addClass("active");
    let urlImg = $(this).data("img");
    let text = $(this).data("text");
    let versiones = $(this).data("ver");
    $("#auto-color")
      .fadeOut(200, function () {
        $("#auto-color").attr("src", urlImg);
      })
      .fadeIn(200);
    $("#texto-color")
      .fadeOut(200, function () {
        $("#texto-color").text(text);
      })
      .fadeIn(200);

    if (versiones != "") {
      $("#version-color")
        .fadeOut(200, function () {
          $("#version-color").text(
            "Disponible sólo en las versiones: " + versiones
          );
        })
        .fadeIn(200);
    } else {
      $("#version-color").html("&nbsp;");
    }
  });

  var swiperColores = new Swiper(".swiper-container.colores", {
    slideToClickedSlide: true,
    loop: true,
    centeredSlides: true,
    height: 40,
    navigation: {
      nextEl: ".swiper-button-next",
      prevEl: ".swiper-button-prev"
    },
    mousewheel: true,
    slidesPerView: 3,
    spaceBetween: 1,
    on: {
      slideChangeTransitionStart: function () {
        $(".swiper-slide-active>.circulo-color").click();
      },

      init: function () {
        $(document).on("ready", function () {
          $(".swiper-slide-active>.circulo-color").click();
        });
      }
    }
  });
.circulo-color {
    display: inline-block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    outline: none;
    border: 0;
    margin-top: 2rem;
    margin-right: 0.5rem;
    padding: 1rem;
    border: 6px solid #e6e5e1 !important;
    transition: 0.3s ease all;
  }

  .circulo-color.active {
    box-shadow: 0px 0px 0px 2px #3ec8f0;
  }
  
  .swiper-slide{
  transform: translate(3.5rem,-1rem)
  }
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Static Template</title>

    <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.css" />
    <link
      rel="stylesheet"
      href="https://unpkg.com/swiper/swiper-bundle.min.css"
    />
    <script
      src="https://code.jquery.com/jquery-3.6.0.min.js"
      integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
      crossorigin="anonymous"
    ></script>
    <script src="https://unpkg.com/swiper/swiper-bundle.js"></script>
    <script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script>
  </head>
  <body>
    <div class="swiper-container colores">
      <div class="swiper-wrapper">
        <div class="swiper-slide" style="display: block;">
          <button
            class="circulo-color"
            data-img="1"
            data-text="1"
            data-ver="1"
            style="background-color: red;"
          ></button>
        </div>

        <div class="swiper-slide" style="display: block;">
          <button
            class="circulo-color"
            data-img="2"
            data-text="2"
            data-ver="2"
            style="background-color: yellow;"
          ></button>
        </div>

        <div class="swiper-slide" style="display: block;">
          <button
            class="circulo-color"
            data-img="3"
            data-text="3"
            data-ver="3"
            style="background-color: blue;"
          ></button>
        </div>

        <div class="swiper-slide" style="display: block;">
          <button
            class="circulo-color"
            data-img="4"
            data-text="4"
            data-ver="4"
            style="background-color: teal;"
          ></button>
        </div>

        <div class="swiper-slide" style="display: block;">
          <button
            class="circulo-color"
            data-img="5"
            data-text="5"
            data-ver="5"
            style="background-color: darkmagenta;"
          ></button>
        </div>

        <div class="swiper-slide" style="display: block;">
          <button
            class="circulo-color"
            data-img="6"
            data-text="6"
            data-ver="6"
            style="background-color: darkgreen;"
          ></button>
        </div>
      </div>
      <div class="arr">
        <div class="swiper-button-next"></div>
      </div>
      <div class="arr2">
        <div class="swiper-button-prev"></div>
      </div>
    </div>
  </body>
</html>

php – ERROR AL ENVIAR IMAGENES REDIMENSIONADAS A BASE DE DATOS CON $imagen_original = imagecreatefromjpeg($ruta);

la verdad soy novato tratando de supera este reto y aprender mucho mas de php.
el asunto estoy tratando de resolver un problema al cargar las imágenes de mi proyecto de inmobiliaria cuando las cargo al formulario y le doy subir imágenes me esta generando el siguiente error:
Fatal error:

Uncaught Error: Call to undefined function imagecreatefrompng() in C:xampp3htdocsportalhomeadminpropiedadesup_principal.php:25 Stack trace: #0 {main} thrown in C:xampp3htdocsportalhomeadminpropiedadesup_principal.php on line 25

y mi código para esta acción es el siguiente:

include '../conexion/conexion.php';
if ($_SERVER('REQUEST_METHOD') == 'POST') {
  $id = htmlentities($_POST('id'));
  $cont=0;
foreach ($_FILES('ruta')('tmp_name') as $key => $value) {
  $ruta = $_FILES('ruta')('tmp_name')($key);
  $imagen = $_FILES('ruta')('name')($key);

  $ancho = 500;
  $alto= 400;
  $info = pathinfo($imagen);
  $tamano = getimagesize($ruta);
  $width= $tamano(0);
  $height = $tamano(1);


  if ($info('extension') == 'jpg' || $info('extension') == 'JPG' ) {
    $imagen_original = imagecreatefromjpeg($ruta);
    $nueva = imagecreatetruecolor($ancho,$alto);
    imagecopyresampled($nueva, $imagen_original, 0,0,0,0, $ancho,$alto,$width,$height);
    $cont++;
    $ran = rand(000,999);
    $renombrar = $id.$ran.$cont;
    $copia = "inmuebles/".$renombrar.".jpg";
    imagejpeg($nueva,$copia);
  }elseif ($info('extension') == 'png' || $info('extension') == 'PNG' ) {
    $imagen_original = imagecreatefrompng($ruta);
    $nueva = imagecreatetruecolor($ancho,$alto);
    imagecopyresampled($nueva, $imagen_original, 0,0,0,0, $ancho,$alto,$width,$height);
    $cont++;
    $ran = rand(000,999);
    $renombrar = $id.$ran.$cont;
    $copia = "inmuebles/".$renombrar.".png";
    imagepng($nueva,$copia);
  }else {
    header('location:../extend/alerta.php?msj=Solo se admiten los formatos de imágen jpg y png&c=prop&p=img&t=error&id='.$id.'');
    exit;
  }

  $ins = $con->prepare("INSERT INTO imagenes VALUES(?,?,?) ");
  $ins->bind_param("iss",$id_img, $id, $copia);
  $id_img = '';
  $ins->execute();


}// termina foreach

if ($ins) {
  header('location:../extend/alerta.php?msj=Sus imágenes han sido cargadas con exito!&c=prop&p=img&t=success&id='.$id.'');
}else {
  header('location:../extend/alerta.php?msj=Sus imágenes no pudieron ser cargadas&c=prop&p=img&t=error&id='.$id.'');
}

  $ins->close();
  $con->close();
  }else {
    header('location:../extend/alerta.php?msj=Utiliza el formulario&c=prop&p=img&t=error&id='.$id.'');
  }

 ?>

Mi pregunta si alguien me puede ayudar con la solución o decir que otra alternativa puedo usar para esta función.. muchas gracias