{"id":6481,"date":"2014-09-06T03:21:29","date_gmt":"2014-09-06T03:21:29","guid":{"rendered":"https:\/\/dev.railscarma.com\/scraping-of-web-sites-using-mechanize-gem\/"},"modified":"2022-08-30T09:18:09","modified_gmt":"2022-08-30T09:18:09","slug":"raspado-de-sitios-web-usando-gema-mecanizada","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-sitios-web-usando-gema-mecanizada\/","title":{"rendered":"Scraping de sitios web usando Mechanize Gem"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"6481\" class=\"elementor elementor-6481\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1355bdca elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1355bdca\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-65c23262\" data-id=\"65c23262\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a27b432 elementor-widget elementor-widget-text-editor\" data-id=\"a27b432\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p style=\"text-align: justify;\" align=\"JUSTIFY\"><strong><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\">raspado web<\/span><\/span><\/em><\/strong><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\"> (recolecci\u00f3n web o extracci\u00f3n de datos web) es una t\u00e9cnica de software inform\u00e1tico para extraer informaci\u00f3n de sitios web. La biblioteca Mechanize se utiliza para automatizar la interacci\u00f3n con sitios web. Mechanize gem almacena y env\u00eda cookies autom\u00e1ticamente, sigue redireccionamientos y puede seguir enlaces y enviar formularios. <\/span><\/span><\/span><\/em><\/p>\n<p style=\"text-align: justify;\" align=\"JUSTIFY\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Los campos del formulario se pueden completar y enviar. Tambi\u00e9n realiza un seguimiento de los sitios que ha visitado como un historial. Aprovecha Nokogiri para analizar una p\u00e1gina en busca de formularios y botones relevantes y proporciona una interfaz simplificada para manipular un formulario web.<\/span><\/span><\/span><\/em><\/p>\n<p style=\"text-align: justify;\" align=\"JUSTIFY\"><a name=\"label-Dependencies\"><\/a><strong><span style=\"font-size: medium;\"><span style=\"font-style: normal;\">Dependencias<\/span><\/span><\/strong><\/p>\n<ul style=\"text-align: justify;\">\n<li>\n<p style=\"font-style: normal; font-weight: normal;\"><span style=\"font-size: medium;\">rub\u00ed 1.8.7, 1.9.2 o 1.9.3<\/span><\/p>\n<\/li>\n<li>\n<p style=\"font-style: normal; font-weight: normal;\"><span style=\"font-size: medium;\">Nokogiri<\/span><\/p>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><strong><span style=\"font-size: medium;\"><span style=\"font-style: normal;\">Primeros pasos con Mechanize:<\/span><\/span><\/strong><\/p>\n<p style=\"text-align: justify;\"><strong><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">\u00a1Busquemos una p\u00e1gina!<\/span><\/span><\/span><\/strong><\/p>\n<p style=\"font-style: normal; font-weight: normal; text-align: justify;\"><span style=\"font-size: medium;\">Lo primero es lo primero. Aseg\u00farese de haber requerido mecanizar y de crear una instancia de un nuevo objeto de mecanizaci\u00f3n:<\/span><\/p>\n<pre class=\"western\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Requiere &#039;rub\u00edes&#039;<\/span><\/span><\/span><\/em>\n<span style=\"font-size: medium;\">requieren &#039;mecanizar&#039;<\/span>\n\n<span style=\"font-size: medium;\">agente = Mecanizar.nuevo<\/span>\n<em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Ahora usaremos el agente que hemos creado para buscar una p\u00e1gina. Busquemos Google con nuestro agente mecanizado:<\/span><\/span><\/span><\/em>\n<em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">p\u00e1gina = agente.get (&#039;<\/span><\/span><\/span><\/em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">http:\/\/google.com\/<\/span><\/span><\/span><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">')<\/span><\/span><\/span><\/em>\n\n<strong><a name=\"label-Finding+Links\"><\/a><span style=\"font-size: medium;\"><span style=\"font-style: normal;\">Encontrar enlaces<\/span><\/span><\/strong><\/pre>\n<p style=\"text-align: justify;\" align=\"JUSTIFY\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Mechanize devuelve un objeto de p\u00e1gina cada vez que obtiene una p\u00e1gina, publica o env\u00eda un formulario. Cuando se recupera una p\u00e1gina, el agente la analizar\u00e1 y colocar\u00e1 una lista de enlaces en el objeto de la p\u00e1gina.<\/span><\/span><\/span><\/em><\/p>\n<p style=\"font-style: normal; font-weight: normal; text-align: justify;\"><span style=\"font-size: medium;\">Ahora que hemos obtenido la p\u00e1gina de inicio de Google, intentemos enumerar todos los enlaces:<\/span><\/p>\n<pre class=\"western\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">p\u00e1gina.enlaces.cada uno hace |enlace|<\/span><\/span><\/span><\/em>\n  <span style=\"font-size: medium;\">pone enlace.texto<\/span>\n<span style=\"font-size: medium;\">fin<\/span><\/pre>\n<p style=\"text-align: justify;\" align=\"JUSTIFY\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Podemos enumerar los enlaces, pero Mechanize ofrece algunos atajos para ayudarnos a encontrar un enlace en el que hacer clic. Digamos que queremos hacer clic en el enlace cuyo texto es &quot;Noticias&quot;. Normalmente tendr\u00edamos que hacer esto:<\/span><\/span><\/span><\/em><\/p>\n<pre class=\"western\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">p\u00e1gina = agente.p\u00e1gina.enlaces.buscar { |l| l.text == &#039;Noticias&#039; }.click (o)<\/span><\/span><\/span><\/em>\n<em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">p\u00e1gina = agente.p\u00e1gina.link_with(:texto =&gt; &#039;Noticias&#039;).click (o)<\/span><\/span><\/span><\/em>\n<em><span style=\"font-family: Liberation Serif,serif;\"><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">agent.page.links_with(:text =&gt; &#039;Noticias&#039;)[1].click (o)<\/span><\/span><\/span><\/span><\/em>\n<em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">page.link_with(:href =&gt; &#039;\/algo&#039;).<\/span><\/span><\/span><\/em>\n\n<a name=\"label-Filling+Out+Forms\"><\/a><strong><span style=\"font-size: medium;\"><span style=\"font-style: normal;\">El llenado de formularios<\/span><\/span><\/strong><\/pre>\n<p style=\"font-style: normal; font-weight: normal; text-align: justify;\"><span style=\"font-size: medium;\">Sigamos con nuestro ejemplo de Google. Aqu\u00ed est\u00e1 el c\u00f3digo que tenemos hasta ahora:<\/span><\/p>\n<pre class=\"western\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Requiere &#039;rub\u00edes&#039;<\/span><\/span><\/span><\/em>\n<span style=\"font-size: medium;\">requieren &#039;mecanizar&#039;<\/span>\n\n<span style=\"font-size: medium;\">agente = Mecanizar.nuevo<\/span>\n<span style=\"font-size: medium;\">p\u00e1gina = agente.get(&#039;http:\/\/google.com\/&#039;)<\/span><\/pre>\n<p style=\"text-align: justify;\" align=\"JUSTIFY\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Si imprimimos la p\u00e1gina, podemos ver que hay un formulario llamado &#039;f&#039;, que tiene un par de botones y algunos campos:<\/span><\/span><\/span><\/em><\/p>\n<pre class=\"western\" style=\"margin-bottom: 0.5cm;\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">p\u00e1gina de p\u00e1ginas<\/span><\/span><\/span><\/em><\/pre>\n<p style=\"text-align: justify;\" align=\"JUSTIFY\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Ahora que sabemos el nombre del formulario, vamos a buscarlo en la p\u00e1gina:<\/span><\/span><\/span><\/em><\/p>\n<pre class=\"western\" style=\"margin-bottom: 0.5cm;\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">google_form = p\u00e1gina.form(&#039;f&#039;)<\/span><\/span><\/span><\/em><\/pre>\n<p style=\"text-align: justify;\" align=\"JUSTIFY\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Echemos un vistazo al c\u00f3digo en conjunto:<\/span><\/span><\/span><\/em><\/p>\n<pre class=\"western\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Requiere &#039;rub\u00edes&#039;<\/span><\/span><\/span><\/em>\n<span style=\"font-size: medium;\">requieren &#039;mecanizar&#039;<\/span>\n\n<span style=\"font-size: medium;\">agente = Mecanizar.nuevo<\/span>\n<span style=\"font-family: Liberation Serif,serif;\"><span style=\"font-size: medium;\">p\u00e1gina = agente.get(&#039;http:\/\/google.com\/&#039;)<\/span><\/span>\n<span style=\"font-size: medium;\">google_form = p\u00e1gina.form(&#039;f&#039;)<\/span>\n<span style=\"font-size: medium;\">google_form.q = &#039;rub\u00ed mecanizar&#039;<\/span>\n<span style=\"font-size: medium;\">p\u00e1gina = agente.enviar (google_form)<\/span>\n<span style=\"font-size: medium;\">p\u00e1gina de p\u00e1ginas<\/span>\n\n<strong><a name=\"label-Scraping+Data\"><\/a><span style=\"font-size: medium;\"><span style=\"font-style: normal;\">Raspado de datos <\/span><\/span><\/strong>\n<em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">Mechanize usa Nokogiri para analizar HTML. \u00bfQu\u00e9 significa esto para ti? Puedes tratar una p\u00e1gina mecanizada como un objeto nokogiri. Despu\u00e9s de haber usado Mechanize para navegar a la p\u00e1gina que necesita raspar, h\u00e1gala usando los m\u00e9todos nokogiri:<\/span><\/span><\/span><\/em>\n<em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">agente.get(&#039;http:\/\/someurl.com\/&#039;).search(&quot;p.posted&quot;)<\/span><\/span><\/span><\/em><\/pre>\n<p style=\"text-align: justify;\" align=\"JUSTIFY\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">La expresi\u00f3n dada a Mechanize::Page#search puede ser una expresi\u00f3n CSS o una expresi\u00f3n XPath:<\/span><\/span><\/span><\/em><\/p>\n<pre class=\"western\" style=\"margin-bottom: 0.5cm;\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">agente.get(&#039;http:\/\/someurl.com\/&#039;).search(&quot;.\/\/p[@class=&#039;posted&#039;]&quot;)<\/span><\/span><\/span><\/em><\/pre>\n<p style=\"text-align: justify;\" align=\"JUSTIFY\"><em><span style=\"font-size: medium;\"><span style=\"font-style: normal;\"><span style=\"font-weight: normal;\">La biblioteca Mechanize se utiliza para automatizar la interacci\u00f3n con sitios web. Mechanize gem almacena y env\u00eda cookies autom\u00e1ticamente, sigue redireccionamientos y puede seguir enlaces y enviar formularios. Los campos del formulario se pueden completar y enviar. Tambi\u00e9n realiza un seguimiento de los sitios que ha visitado como un historial. aprovecha Nokogiri para analizar una p\u00e1gina en busca de formularios y botones relevantes y proporciona una interfaz simplificada para manipular un formulario web.<\/span><\/span><\/span><\/em><\/p>\n<p><strong><a href=\"https:\/\/www.railscarma.com\/es\/\" target=\"_blank\" rel=\"noopener noreferrer\">RielesCarma<\/a><\/strong> ha estado trabajando en el marco Ruby on Rails desde su etapa incipiente y se ha encargado de <strong>250 rublos reales<\/strong> <strong>proyectos<\/strong>. Con un equipo de m\u00e1s de 100 desarrolladores de RoR conocedores de las \u00faltimas t\u00e9cnicas y herramientas, RailsCarma es ideal para ayudarlo con todas sus necesidades de desarrollo.<\/p>\n<p>Estaremos encantados de poder ayudarle con sus consultas. Usa nuestro <a href=\"\/es\/contactenos\/\" target=\"_blank\" rel=\"noopener noreferrer\">Cont\u00e1ctenos<\/a> p\u00e1gina para conectarse con nosotros.<\/p>\n<p>Leer art\u00edculos relacionados:<\/p>\n<ul>\n<li><a href=\"\/es\/blog\/railes-3\/introduccion-a-la-api-de-rieles\/\" target=\"_blank\" rel=\"noopener noreferrer\">Una introducci\u00f3n a la API de Rails<\/a><\/li>\n<li><a href=\"\/es\/blog\/articulos-tecnicos\/poodle-ssl-security-threat-explored\/\" target=\"_blank\" rel=\"noopener noreferrer\">Se explora la amenaza de seguridad SSL de Poodle<\/a><\/li>\n<li><a href=\"\/es\/blog\/articulos-tecnicos\/una-forma-sencilla-de-aumentar-el-rendimiento-de-tu-aplicacion-rails-2\/\" target=\"_blank\" rel=\"noopener noreferrer\">Una forma sencilla de aumentar el rendimiento de su aplicaci\u00f3n Rails<\/a><\/li>\n<li><a href=\"\/es\/blog\/articulos-tecnicos\/aplicaciones-de-escalado-conexion-de-base-de-datos-multiple\/\" target=\"_blank\" rel=\"noopener noreferrer\">Aplicaci\u00f3n escalable con conexi\u00f3n de m\u00faltiples bases de datos<\/a><\/li>\n<\/ul>\n<p><a href=\"\/es\/contactenos\/\">P\u00f3ngase en contacto con nosotros.<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-4f453ac elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"4f453ac\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-28473f67\" data-id=\"28473f67\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7171339f elementor-widget elementor-widget-heading\" data-id=\"7171339f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Suscr\u00edbete para recibir las \u00faltimas actualizaciones<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2e9b63 elementor-widget elementor-widget-shortcode\" data-id=\"e2e9b63\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"cargador\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"a6180fbcb4\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Direcci\u00f3n de correo electr\u00f3nico\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nombre\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Suscribir\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"es\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Art\u00edculos Relacionados<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gema Kaminari\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/gema-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"gema kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gema Kaminari\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/gema-kaminari\/?related_post_from=37277\">\r\n        Gema Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"\u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/por-que-contratar-desarrolladores-de-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"por qu\u00e9 contratar desarrolladores de Ruby on Rails en 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"\u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/por-que-contratar-desarrolladores-de-ruby-on-rails\/?related_post_from=30627\">\r\n        \u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Importancia de la arquitectura de software en el desarrollo de software empresarial\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/importancia-de-la-arquitectura-de-software-en-el-desarrollo-de-software-empresarial\/?related_post_from=36250\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"Importancia de la arquitectura de software en el desarrollo de software empresarial\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/06\/Importance-of-Software-Architecture-in-enterprise-software-development-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Importancia de la arquitectura de software en el desarrollo de software empresarial\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/importancia-de-la-arquitectura-de-software-en-el-desarrollo-de-software-empresarial\/?related_post_from=36250\">\r\n        Importancia de la arquitectura de software en el desarrollo de software empresarial  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Ruby IDE: los mejores IDE para el desarrollo de Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/ruby-ide-las-mejores-ideas-para-el-desarrollo-de-ruby-on-rails\/?related_post_from=36125\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"MEJORES IDES PARA EL DESARROLLO DE RUBY ON RAILS\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2022\/01\/BEST-IDES-FOR-RUBY-ON-RAILS-DEVELOPMENT-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Ruby IDE: los mejores IDE para el desarrollo de Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/ruby-ide-las-mejores-ideas-para-el-desarrollo-de-ruby-on-rails\/?related_post_from=36125\">\r\n        Ruby IDE: los mejores IDE para el desarrollo de Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Web scraping (web harvesting or web data extraction) is a computer software technique of extracting information from websites. The Mechanize library is used for automating interaction with websites. Mechanize gem automatically stores and sends cookies, follows redirects, and can follow links and submit forms. Form fields can be populated and submitted. It also keeps track &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/es\/blog\/how-to-build-a-scalable-saas-platform-using-ruby-on-rails\/\"> <span class=\"screen-reader-text\">C\u00f3mo crear una plataforma SaaS escalable con Ruby on Rails<\/span> Leer m\u00e1s \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":32090,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[572,573,574,575,576],"class_list":["post-6481","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-gem","tag-mechanize","tag-mechanize-gem","tag-web-harvesting","tag-web-scraping"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Scraping of Websites using Mechanize Gem - RailsCarma Blog<\/title>\n<meta name=\"description\" content=\"Web scraping is a computer software technique of extracting information from websites. Mechanize gem leverages Nokogiri to parse a page.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-sitios-web-usando-gema-mecanizada\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Scraping of Websites using Mechanize Gem - RailsCarma Blog\" \/>\n<meta property=\"og:description\" content=\"Web scraping is a computer software technique of extracting information from websites. Mechanize gem leverages Nokogiri to parse a page.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-sitios-web-usando-gema-mecanizada\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-06T03:21:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-08-30T09:18:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/web-scraping-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Scraping of Websites using Mechanize Gem\",\"datePublished\":\"2014-09-06T03:21:29+00:00\",\"dateModified\":\"2022-08-30T09:18:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/\"},\"wordCount\":469,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/web-scraping-1.jpg\",\"keywords\":[\"gem\",\"Mechanize\",\"Mechanize gem\",\"web harvesting\",\"Web scraping\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/\",\"name\":\"Scraping of Websites using Mechanize Gem - RailsCarma Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/web-scraping-1.jpg\",\"datePublished\":\"2014-09-06T03:21:29+00:00\",\"dateModified\":\"2022-08-30T09:18:09+00:00\",\"description\":\"Web scraping is a computer software technique of extracting information from websites. Mechanize gem leverages Nokogiri to parse a page.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/web-scraping-1.jpg\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/web-scraping-1.jpg\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Scraping of Websites using Mechanize Gem\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Scraping de sitios web usando Mechanize Gem - Blog RailsCarma","description":"El web scraping es una t\u00e9cnica de software inform\u00e1tico para extraer informaci\u00f3n de sitios web. Mechanize gem aprovecha Nokogiri para analizar una p\u00e1gina.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-sitios-web-usando-gema-mecanizada\/","og_locale":"es_ES","og_type":"article","og_title":"Scraping of Websites using Mechanize Gem - RailsCarma Blog","og_description":"Web scraping is a computer software technique of extracting information from websites. Mechanize gem leverages Nokogiri to parse a page.","og_url":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-sitios-web-usando-gema-mecanizada\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2014-09-06T03:21:29+00:00","article_modified_time":"2022-08-30T09:18:09+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/web-scraping-1.jpg","type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Escrito por":"admin","Tiempo de lectura":"3 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Scraping of Websites using Mechanize Gem","datePublished":"2014-09-06T03:21:29+00:00","dateModified":"2022-08-30T09:18:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/"},"wordCount":469,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/web-scraping-1.jpg","keywords":["gem","Mechanize","Mechanize gem","web harvesting","Web scraping"],"articleSection":["Technical Articles"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/","name":"Scraping de sitios web usando Mechanize Gem - Blog RailsCarma","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/web-scraping-1.jpg","datePublished":"2014-09-06T03:21:29+00:00","dateModified":"2022-08-30T09:18:09+00:00","description":"El web scraping es una t\u00e9cnica de software inform\u00e1tico para extraer informaci\u00f3n de sitios web. Mechanize gem aprovecha Nokogiri para analizar una p\u00e1gina.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/web-scraping-1.jpg","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2014\/09\/web-scraping-1.jpg","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/scraping-of-web-sites-using-mechanize-gem\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Scraping of Websites using Mechanize Gem"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Empresa de desarrollo Ruby on Rails especializada en desarrollo offshore","description":"RailsCarma es una empresa de desarrollo de Ruby on Rails en Bangalore. Nos especializamos en el desarrollo offshore de Ruby on Rails con sede en EE. UU. e India. Contrate desarrolladores experimentados de Ruby on Rails para disfrutar de la mejor experiencia web.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RielesCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"administraci\u00f3n","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/6481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/comments?post=6481"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/6481\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media\/32090"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media?parent=6481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/categories?post=6481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/tags?post=6481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}