Giter Site home page Giter Site logo

matteoalessiocarrara / bot-virtualbrowser Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 36 KB

Browser headless veloce ed intuitivo, con interfaccia simile a quella dei browser gui - libreria in python

License: GNU General Public License v3.0

Shell 3.35% Python 96.65%

bot-virtualbrowser's Introduction

Bot virtualbrowser

Browser headless veloce ed intuitivo, con interfaccia simile a quella dei browser gui - libreria in python

Questa è in realtà un estensione della libreria human-virtualbrowser, che contiene un "oggetto" browser senza interfaccia grafica ma strutturato in modo da averne le stesse caratteristiche.

Dal readme di human-virtualbrowser:

L'obbiettivo è scrivere un "oggetto" browser che abbia le stesse azioni (metodi) e caratteristiche (attributi) della gui di un normale browser, come firefox.
Per esempio, un oggetto browser avrà un attributo "gestore delle schede", e questo avrà a sua volta un attributo "schede aperte". Un oggetto "scheda", avrà un metodo "chiudi", "ricarica" ecc.

Esempio

import virtualbrowser
import logging

logging.basicConfig(level=logging.DEBUG)

# Apriamo un browser
browser = virtualbrowser.BotBrowser()

# Aprendo il browser, si apre una finestra del browser
window = browser.windows_manager.windows.values()[0]

# E in ogni finestra c'è sempre almeno una scheda
tab = window.tabs_manager.tabs.values()[0]


# Il nostro bot deve scaricare una pagina, usando una nuova scheda.
# Come farebbe senza questa libreria:

newtab = window.tabs_manager.add_tab("https://www.python.org")
newtab.download_content()
pag = newtab.get_content()
newtab.close()

# Come può fare con la libreria

pag = window.get("https://www.python.org")


# C'è già una scheda aperta, il nostro bot la vuole usare per scaricare una pagina
# Come farebbe senza questa libreria:

tab.set_url("https://www.python.org")
tab.download_content()
pag = tab.get_content()

# Come può fare con la libreria

pag = tab.load("https://www.python.org")

Perché dovrei usare questo browser headless?

È basato su un browser simile a quelli con gui, ma senza gui. Il risultato dovrebbe essere un browser headless veloce e intuitivo.

Caratteristiche

  • Gestione interna di più finestre
  • Gestione di più schede per finestra
  • Basato sulla libreria requests per la parte della rete
  • Parsing (opzionale) del contenuto delle schede con la libreria BeautifulSoup

Requisiti

Vedere il readme di human-virtualbrowser , su cui si basa.

Documentazione

Questa libreria è solo un estensione di human-virtualbrowser, la documentazione è quindi divisa fra i due repo.

Altre informazioni

This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.

Aggiornamenti: GitHub
Email: [email protected]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.