Estoy buscando un programa que pueda extraer un elemento específico de una página web para obtener una lista de páginas que tengan una estructura similar.
Para decirlo de otra manera, primero especificaría la ubicación del texto que me interesa, por ejemplo, el título de una pregunta de StackExchange:
luego proporcione una lista de URL que apunten a otras preguntas de StackExchange (es decir, una estructura de página similar). El raspador debe extraer los títulos de esas páginas. Está bien si la información que se va a extraer debe estar en un div o lapso específico.
Gratis, Windows 7, GUI y código abierto son mejores.
Puedes hacer exactamente este tipo de cosas con python y scrapy .
En cuanto a sus necesidades específicas:
Hay mucha documentación en línea y una etiqueta de desbordamiento de pila como una posible fuente de ayuda y ejemplos. Un ejemplo del uso de la línea de comandos, de la página web de Scapy:
pip install scrapy
cat > myspider.py <<EOF
from scrapy import Spider, Item, Field
class Post(Item):
title = Field()
class BlogSpider(Spider):
name, start_urls = 'blogspider', ['http://blog.scrapinghub.com']
def parse(self, response):
return [Post(title=e.extract()) for e in response.css("h2 a::text")]
EOF
scrapy runspider myspider.py
Cuando ejecuto lo anterior obtengo:
2014-10-22 06:18:04+0100 [blogspider] DEBUG: Scraped from <200 http://blog.scrapinghub.com>
{'title': u'XPath tips from the web scraping\xa0trenches'} 2014-10-22 06:18:04+0100 [blogspider] DEBUG: Scraped from <200 http://blog.scrapinghub.com>
{'title': u'Introducing Data Reviews'} 2014-10-22 06:18:04+0100 [blogspider] DEBUG: Scraped from <200 http://blog.scrapinghub.com>
{'title': u'Extracting schema.org microdata using Scrapy selectors and\xa0XPath'} 2014-10-22 06:18:04+0100 [blogspider] DEBUG: Scraped from <200 http://blog.scrapinghub.com>
{'title': u'Announcing Portia, the open source visual web\xa0scraper!'} 2014-10-22 06:18:04+0100 [blogspider] DEBUG: Scraped from <200 http://blog.scrapinghub.com>
{'title': u'Optimizing memory usage of scikit-learn models using succinct\xa0Tries'} 2014-10-22 06:18:04+0100 [blogspider] DEBUG: Scraped from <200 http://blog.scrapinghub.com>
{'title': u'Open Source at\xa0Scrapinghub'} 2014-10-22 06:18:04+0100 [blogspider] DEBUG: Scraped from <200 http://blog.scrapinghub.com>
{'title': u'Looking back at\xa02013'} 2014-10-22 06:18:04+0100 [blogspider] INFO: Closing spider (finished)
Cuáles son los elementos del encabezado 2 del sitio referenciado.
usuario416