Costruzione Utensili
La Cultura è la nostra Natura, siamo cacciatori e raccoglitori in un mondo di dati.
Prerequisiti
- Un'idea vaga di HTML
- Saper scrivere, o anche solo leggere un qualsiasi linguaggio
Programma
Serie di pomeriggi di sperimentazione libera, segue workshop rivolto al pubblico.
Temi
Ancora da definire, ma a grandi linee:
- Orientarsi con l'inspector del Browser
- Rudimenti di web scraping con Python:
- GET e fake-user agent con requests
- Beautiful-soup e/o lxml per il parsing delle pagine
- Web spider con scrapy
- wget e qualcosa di bash?
Riferimenti Sparsi
https://medium.com/@kaismh/extracting-data-from-websites-using-scrapy-e1e1e357651a
https://deshmukhsuraj.wordpress.com/2015/03/08/anonymous-web-scraping-using-python-and-tor/
Terminale
curl
curl "http://www.example.com"
esegue una GET e ne stampa l'output
curl -o out.html "http://www.example.com"
ora l'output è salvato sul file out.html
wget
wget "http://www.example.com/index.html"
salva in contenuto in index.html
wget -r "http://www.example.com/"
salva tutto il contenuto del sito nella directory corrente
Python
python3 script.py
esegue uno script
python3 script.py > out.txt
esegue uno script e ne salva l'output in out.txt
Codice
- Stampa l'elenco degli spazi di Macao:
1 #!/usr/bin/env python3 2 import requests 3 from bs4 import BeautifulSoup 4 5 url = "http://www.macaomilano.org/spip.php?rubrique18" 6 r = requests.get(url) 7 page = r.text 8 9 soup = BeautifulSoup(page, "html.parser") 10 11 h2s = soup.findAll("h2") 12 spazi = [h2.text for h2 in h2s] 13 14 print("\n".join(spazi))
- Fake user-agent:
- Passare per Tor:
1 import socks 2 import socket 3 import requests 4 5 # Prima 6 print(requests.get("http://icanhazip.com").text) 7 8 socks.setdefaultproxy(proxy_type=socks.PROXY_TYPE_SOCKS5, 9 addr="127.0.0.1", 10 port=9050) 11 12 socket.socket = socks.socksocket 13 14 # Dopo 15 print(requests.get("http://icanhazip.com").text)