|
11
|
Programación / PHP / Re: PHP, Curl y facebook
|
en: 4 Marzo 2015, 23:05 pm
|
<?php function curl($url) { CURLOPT_RETURNTRANSFER => TRUE, CURLOPT_FOLLOWLOCATION => TRUE, CURLOPT_AUTOREFERER => TRUE, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, CURLOPT_USERAGENT => "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1a2pre) Gecko/2008073000 Shredder/3.0a2pre ThunderBrowse/3.2.1.8", CURLOPT_URL => $url, ); return $data; } echo curl("www.facebook.com"); ?>
Un saludo.
|
|
|
12
|
Programación / PHP / PHP, Curl y facebook
|
en: 4 Marzo 2015, 20:34 pm
|
Buenas gente, cuanto tiempo
bien estoy practicando crawling y scraping en php, y estoy mirando a ver si se puede leer el código de una página cualquiera de facebook, para mi sorpresa cuando leo la url con curl, este no me devuelve nada.
Imagino que es debido a que facebook ya tiene contramedidas contra bots, pero me gustaría saber si hay alguna manera de hacerlo sin utilizar la propia api de facebook.
Un saludo y gracias de antemano.
|
|
|
13
|
Programación / PHP / Re: Notificaciones en php
|
en: 1 Marzo 2015, 13:47 pm
|
Bueno, deberías hacer una tabla en la base de datos donde se almacenen los formularios que envíen los usuarios normales, y con un PHP que coja esos formularios y se los muestre al administrador en tiempo real junto con AJAX.
Un saludo.
|
|
|
14
|
Programación / Java / Re: Sensor de movimiento
|
en: 16 Agosto 2014, 22:50 pm
|
Holas, espero te sirva. boolean sensorState = false; boolean greenLight = true; boolean redLight = false; while(true) { if(sensorState) { System. out. println("El sensor detecta movimiento, enciendo luz roja y apago la verde"); greenLight = false; redLight = true; } else { System. out. println("El sensor no detecta movimiento, enciendo luz verde y apago la roja"); redLight = false; greenLight = true; } try { e.printStackTrace(); } }
Lo que definiría si se enciende una u otra sería la variable sensorState pero como no tienes un sensor físico pues es hipotética. Un saludo.
|
|
|
15
|
Programación / Java / Re: EVALUACION DE MATRIZ EN JAVA. MODELO TUMORAL
|
en: 9 Agosto 2014, 23:59 pm
|
Hola, a ver si lo he entendido, por esa regla, cada fila de la array corresponde a digamos un grupo de células independientes, y cuando llega a 60 células en 1 continuas, es decir sin 0 entre medias, se considera que todo ese grupo es cancerígeno y se le marca con el último espacio de la fila un 3. int tope = 60; int countTumor = 0; int array[][] = new int[tope][tope]; for(int i = 0; i < tope; i++) { for(int a = 0; a < tope; a++) { if(array[i][a] == 1) //Revisamos si es cancerigena { countTumor++; } else { countTumor = 0; //Si hay un espacio entre celulas con una celula NO cancerigena reiniciamos el contador } if(countTumor == tope) // Si el contador de celulas cancerigenas continuas llega al tope, en este caso 60, declaramos la fila cancerigena { array[i][a] = 3; countTumor = 0; } } } }
Un saludo PD: Faltaría inicializar la array por eso, confío en que sepas hacerlo
|
|
|
18
|
Programación / Java / Re: Usar libreria .jar en Eclipse
|
en: 11 Julio 2014, 18:54 pm
|
Bien supongamos que en tu jar tienes una class llamada prueba. Prueba prueba = new Prueba(); prueba.ejemploDeMetodo();
Además de esto deberás hacer el típico import de la class. Espero no haberme equivocado porque no tengo un pc cerca. Un saludo.
|
|
|
19
|
Programación / Java / Re: Pintar celdas de JTable al hacer clic
|
en: 24 Junio 2014, 19:37 pm
|
Buenas gente. Ya lo tengo solucionado, lo dejo por aquí por si a alguien le interesa. package base; import graphics.Gui; public class Main { public static void main (String[] args ) { new Gui(); } }
package graphics; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JTable; { /** * */ private static final long serialVersionUID = 1L; private ExampleTableModel model = new ExampleTableModel(); private MyDefaultTableCellRenderer renderer; public Gui() { table.setRowHeight(30); table.setTableHeader(null); table.setCellSelectionEnabled(false); table.addMouseListener(this); renderer = new MyDefaultTableCellRenderer(); table. setDefaultRenderer(String. class, renderer ); frame.setSize(500, 500); frame.addWindowListener( { { } } ); frame.getContentPane().add(table); frame.setResizable(false); frame.setVisible( true ); } { } { } { } { int check = renderer.checkContainsCoordinates(table.getSelectedRow(), table.getSelectedColumn()); if(check == -1) { renderer.addCoordinate(table.getSelectedRow(), table.getSelectedColumn()); } else if(check != -1) { renderer.removeCoordinate(check); } table.repaint(); } { } }
package graphics; import javax.swing.table.AbstractTableModel; { /** * */ private static final long serialVersionUID = 1L; private final String[] columnNames = {"", "", "", "", "", "", "", "", "", "", "", "", ""}; {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""} }; @SuppressWarnings("unchecked") public Class getColumnClass(int column) { return getValueAt(0, column).getClass(); } public int getColumnCount() { return columnNames.length; } public String getColumnName ( int column ) { return columnNames[column]; } public int getRowCount() { return data.length; } public Object getValueAt ( int row, int column ) { return data[row][column]; } public void setValueAt (Object value, int row, int column ) { data[row][column] = value; } }
package graphics; import java.awt.Component; import java.util.ArrayList; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import staticvar.staticvar; { /** * */ private static final long serialVersionUID = 1L; private ArrayList<Integer[]> coordinates = new ArrayList<Integer[]>(); public void addCoordinate(int row, int col) { coordinates. add(new Integer [] {row, col }); } public void removeCoordinate(int position) { coordinates.remove(position); } public Component getTableCellRendererComponent boolean hasFocus, int row, int col) { if(checkContainsCoordinates(row, col) != -1) { this.setBackground(staticvar.colors[1]); } else if(checkContainsCoordinates(row, col) == -1) { this.setBackground(staticvar.colors[0]); } return this; } public int checkContainsCoordinates(int row, int col) { for(int i = 0; i < coordinates.size(); i++) { if(coordinates.get(i)[0] == row && coordinates.get(i)[1] == col) { return i; } } return -1; } }
package staticvar; import java.awt.Color; public class staticvar { public static final Color [] colors = {Color. WHITE, }
Un saludo
|
|
|
20
|
Programación / Java / Pintar celdas de JTable al hacer clic
|
en: 23 Junio 2014, 14:06 pm
|
Primeramente buenas a todos. Bueno estoy empezando a mirar temas de heurísitica y he empezado haciendo la búsqueda del recorrido mas corto con el algoritmo A*. Hasta aquí todo bien, pero me surge un problema y es que para testear todo esto, quiero hacer una JTable que al yo clicar en una celda de color blanco esta se pinte de color negro para dar a entender a la aplicación que es una celda infranqueable por el contrario si clico en una negra, se volverá blanca. Básicamente el problema es que cuando selecciono la celda blanca, me vuelve negras esa y todas las siguientes. A ver si me pudieseis echar una mano. package base; import graphics.Gui; public class Main { public static void main (String[] args ) { new Gui(); } }
package graphics; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JTable; public class Gui extends JFrame { /** * */ private static final long serialVersionUID = 1L; private ExampleTableModel model = new ExampleTableModel(); public Gui() { table.setRowHeight(30); table.setTableHeader(null); table.setCellSelectionEnabled(true); table.setCellSelectionEnabled(false); MyDefaultTableCellRenderer renderer = new MyDefaultTableCellRenderer(); table. setDefaultRenderer(String. class, renderer ); frame.setSize(500, 500); frame.addWindowListener( { { } } ); frame.getContentPane().add(table); frame.setResizable(false); frame.setVisible( true ); } }
package graphics; import javax.swing.table.AbstractTableModel; { /** * */ private static final long serialVersionUID = 1L; private final String[] columnNames = {"", "", "", "", "", "", "", "", "", "", "", "", ""}; {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""}, {"", "", "", "", "", "", "", "", "", "", "", "", ""} }; @SuppressWarnings("unchecked") public Class getColumnClass(int column) { return getValueAt(0, column).getClass(); } public int getColumnCount() { return columnNames.length; } public String getColumnName ( int column ) { return columnNames[column]; } public int getRowCount() { return data.length; } public Object getValueAt ( int row, int column ) { return data[row][column]; } public void setValueAt (Object value, int row, int column ) { data[row][column] = value; } }
package graphics; import java.awt.Color; import java.awt.Component; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; { /** * */ private static final long serialVersionUID = 1L; public Component getTableCellRendererComponent boolean hasFocus, int row, int column) { Component cell = super. getTableCellRendererComponent (table, value, isSelected, hasFocus, row, column); setBorder(noFocusBorder); if(row == table.getSelectedRow() && column == table.getSelectedColumn()) { System. out. println("Recorriendo " + row + " - " + column + "\nSeleccionada " + table. getSelectedRow() + " - " + table. getSelectedColumn()); if(cell.getBackground().equals(colors[1])) { System. out. println("Pinto Blanco"); cell. setBackground(Color. WHITE); } else if(cell.getBackground().equals(colors[0])) { System. out. println("Pinto Negro"); cell. setBackground(Color. BLACK); } } return cell; } }
Un saludo y gracias de antemano
|
|
|
|
|
|
|