Articles of scraping

Python para guardar páginas web

Esta es probablemente una tarea muy simple, pero no puedo encontrar ninguna ayuda. Tengo un sitio web que toma el formulario www.xyz.com/somestuff/ID. Tengo una lista de las identificaciones de las que necesito información. Esperaba tener un script simple para ir al sitio y descargar la página web (completa) para cada ID en una forma simple […]

Reformateo de la mesa de selenium raspado.

Estoy raspando una mesa que muestra información para una liga deportiva. Hasta ahora todo bien para un principiante de selenium: from selenium import webdriver import re import pandas as pd driver = webdriver.PhantomJS(executable_path=r’C:/…/bin/phantomjs.exe’) driver.get(“http://www.oddsportal.com/hockey/usa/nhl-2014-2015/results/#/page/2.html”) infotable = driver.find_elements_by_class_name(“table-main”) matches = driver.find_elements_by_class_name(“table-participant”) ilist, match = [], [] for i in infotable: ilist.append(i.text) infolist = ilist[0] for i […]

Condiciones esperadas con selenium.

¿Cómo compruebo si una etiqueta br está presente en HTML usando las condiciones esperadas? Este es el código HTML: Smatta , Nyunyu , moyo , Masikini_Jeuri , Job K , Adoe , enhe Este es mi código. wait = WebDriverWait(browser, 10) wait.until(EC.visibility_of_element_located((By.XPATH, ‘//’))) Código completo. from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui […]

¿Se puede aplicar el raspado a esta página que está recalculando activamente?

Me gustaría capturar las posiciones de los satélites de la (s) página (s) a continuación, pero no estoy seguro si el raspado es apropiado porque la página parece actualizarse cada segundo usando algún código interno (se actualiza después de desconectarme de Internet) . La información de fondo se puede encontrar en mi pregunta en Space […]

Cómo raspar múltiples páginas con una URL que no cambia – python

Estoy tratando de eliminar este sitio web: http://data.eastmoney.com/xg/xg/ Hasta ahora he usado selenium para ejecutar el javascript y obtener la tabla raspada. Sin embargo, mi código en este momento solo me da la primera página. Me preguntaba si hay una forma de acceder a las otras 17 páginas, porque cuando hago clic en la página […]

¿Cuál es la mejor práctica para escribir scrappers web mantenibles?

Necesito implementar algunos raspadores para rastrear algunas páginas web (porque el sitio no tiene API abierta), extrayendo información y guardando en la base de datos. Actualmente estoy usando una sopa hermosa para escribir código como este: discount_price_text = soup.select(“#detail-main del.originPrice”)[0].string; discount_price = float(re.findall(‘[\d\.]+’, discount_price_text)[0]); Supongo que un código como este puede volverse fácilmente inválido cuando […]

¿Alternativas a Selenium / Webdriver para rellenar campos al raspar sin cabeza con Python?

Con Python 2.7 estoy raspando con urllib2 y cuando se necesita algo de Xpath, lxml también. Es rápido , y debido a que rara vez tengo que navegar por los sitios, esta combinación funciona bien. Sin embargo, en ocasiones, cuando llego a una página que solo muestra algunos datos valiosos cuando se llena un formulario […]

¿Cómo obtener todos los datos de una página web manipulando el método de carga diferida?

He escrito algunos guiones en python usando selenium para raspar el nombre y el precio de diferentes productos del sitio web redmart. Mi raspador hace clic en un enlace, va a su página de destino, analiza los datos desde allí. Sin embargo, el problema al que me enfrento con este rastreador es que raspa muy […]

Problema al rastrear Amazon, el elemento no se puede desplazar a la vista

Tengo un problema al rastrear páginas en Amazon. He intentado usar: Ejecutando JS Script Cadenas de accion Esperas explícitas Nada parece funcionar. Todo arroja una excepción o error u otro. Script Base ff = create_webdriver_instance() ff.get(‘https://www.amazon.ca/gp/goldbox/ref=gbps_ftr_s-3_4bc8_dct_10-?gb_f_c2xvdC0z=sortOrder:BY_SCORE,discountRanges:10-25%252C25-50%252C50-70%252C70-&pf_rd_p=f5836aee-0969-4c39-9720-4f0cacf64bc8&pf_rd_s=slot-3&pf_rd_t=701&pf_rd_i=gb_main&pf_rd_m=A3DWYIK6Y9EEQB&pf_rd_r=CQ7KBNXT36G95190QJB1&ie=UTF8’) next_button = ff.find_element_by_xpath(‘(//li/a[contains(text(), “Next”)])[1]’) Intento # 1: Ejecutando JS Guión ff.execute_script(‘arguments[0].scrollIntoView()’, next_button) Error Element could not be scrolled into […]

¿Cómo encontrar el valor del elemento usando Splinter?

Tengo la siguiente pieza de html: foo: foo bar: bar foo2: description: description body another foo: foooo Me gustaría obtener el cuerpo de la descripción utilizando splinter. He logrado obtener una lista de p usando browser.find_by_css(“p.attrs”)