
Hay más información en Internet de la que cualquier ser humano puede absorber en su vida. Lo que necesita no es acceso a esa información, sino una forma escalable de recopilarla, organizarla y analizarla.
Necesitas web scraping.
El web scraping extrae automáticamente los datos y los presenta en un formato que pueda entender fácilmente. En este tutorial, nos centraremos en sus aplicaciones en el mercado financiero, pero el web scraping se puede utilizar en una amplia variedad de situaciones.
Si es un inversionista ávido, obtener precios de cierre todos los días puede ser un problema, especialmente cuando la información que necesita se encuentra en varias páginas web. Facilitaremos la extracción de datos mediante la creación de un raspador web para recuperar los índices bursátiles automáticamente de Internet.

Empezando
Vamos a utilizar Python como nuestro lenguaje de extracción, junto con una biblioteca simple y poderosa, BeautifulSoup.
- Para los usuarios de Mac, Python está preinstalado en OS X. Abra Terminal y escriba
python --version
. Debería ver que su versión de Python es 2.7.x. - Para los usuarios de Windows, instale Python a través del sitio web oficial.
A continuación, necesitamos obtener la biblioteca BeautifulSoup usando pip
una herramienta de administración de paquetes para Python.
En la terminal, escriba:
easy_install pip pip install BeautifulSoup4
Nota : Si no puede ejecutar la línea de comando anterior, intente agregar sudo
delante de cada línea.
Los basicos
Antes de comenzar a saltar al código, comprendamos los conceptos básicos de HTML y algunas reglas del raspado.
Etiquetas HTML
Si ya comprende las etiquetas HTML, no dude en omitir esta parte.
First Scraping
Hello World
Esta es la sintaxis básica de una página web HTML. Cada sirve un bloque dentro de la página web:
1 .: Los documentos HTML deben comenzar con una declaración de tipo.
2. El documento HTML se encuentra entre y
.
3. La declaración de meta y script del documento HTML está entre y
.
4. La parte visible del documento HTML se encuentra entre las etiquetas y
.
5. Los títulos de título se definen con el

Original text
mediante
etiquetas.
etiquetas.6. Los párrafos se definen con el
Other useful tags include
for hyperlinks,
for tables,
for table rows, and
para columnas de tabla. Además, las etiquetas HTML a veces vienen con atributos Para obtener más información sobre etiquetas HTML, id y clase, consulte los tutoriales de W3Schools. Reglas de raspado
Inspeccionando la páginaTomemos como ejemplo una página del sitio web de Bloomberg Quote. Como alguien que sigue el mercado de valores, nos gustaría obtener el nombre del índice (S&P 500) y su precio de esta página. Primero, haga clic derecho y abra el inspector de su navegador para inspeccionar la página web. ![]() Intente colocar el cursor sobre el precio y debería poder ver un cuadro azul que lo rodea. Si hace clic en él, se seleccionará el HTML relacionado en la consola del navegador. ![]() En el resultado, podemos ver que el precio está dentro de algunos niveles de etiquetas HTML, que es Del mismo modo, si se desplaza y hace clic en el nombre "Índice S&P 500", está dentro .![]() Ahora conocemos la ubicación única de nuestros datos con la ayuda de Ir al códigoAhora que sabemos dónde están nuestros datos, podemos comenzar a codificar nuestro raspador web. ¡Abra su editor de texto ahora! Primero, necesitamos importar todas las bibliotecas que vamos a usar.
A continuación, declare una variable para la URL de la página.
Luego, use Python urllib2 para obtener la página HTML de la URL declarada.
Finalmente, analice la página en formato BeautifulSoup para que podamos usar BeautifulSoup para trabajar en ella.
Now we have a variable, Remember the unique layers of our data? BeautifulSoup can help us get into these layers and extract the content with
After we have the tag, we can get the data by getting its
Similarly, we can get the price too.
When you run the program, you should be able to see that it prints out the current price of the S&P 500 Index. ![]() Export to Excel CSVNow that we have the data, it is time to save it. The Excel Comma Separated Format is a nice choice. It can be opened in Excel so you can see the data and process it easily. But first, we have to import the Python csv module and the datetime module to get the record date. Insert these lines to your code in the import section.
At the bottom of your code, add the code for writing data to a csv file.
Now if you run your program, you should able to export an ![]() So if you run this program everyday, you will be able to easily get the S&P 500 Index price without rummaging through the website! Going Further (Advanced uses)Multiple Indices So scraping one index is not enough for you, right? We can try to extract multiple indices at the same time. First, modify the
Then we change the data extraction code into a
Also, modify the saving section to save data row by row.
Rerun the program and you should be able to extract two indices at the same time! Advanced Scraping TechniquesBeautifulSoup is simple and great for small-scale web scraping. But if you are interested in scraping data at a larger scale, you should consider using these other alternatives:
Adopt the DRY Method![]() DRY stands for “Don’t Repeat Yourself”, try to automate your everyday tasks like this person. Some other fun projects to consider might be keeping track of your Facebook friends’ active time (with their consent of course), or grabbing a list of topics in a forum and trying out natural language processing (which is a hot topic for Artificial Intelligence right now)! If you have any questions, please feel free to leave a comment below. References //www.gregreda.com/2013/03/03/web-scraping-101-with-python/ //www.analyticsvidhya.com/blog/2015/10/beginner-guide-web-scraping-beautiful-soup-python/ This article was originally published on Altitude Labs’ blog and was written by our software engineer, Leonard Mok. Altitude Labs is a software agency that specializes in personalized, mobile-first React apps. |