Swatch Bharat Urban Crawler
Dabei handelt es sich um einen Crawler, der die komplette Website https://sbmurban.org/rrr-centers crawlt und die kompletten Informationen extrahiert.
Um
- Dieser Crawler wurde als Task für ATLAN erstellt.
- Die vollständigen Daten der Website wurden gecrawlt und in einer einzigen Datei gespeichert
- Dies war eine neue Aufgabe und es wurde gelernt, wie man die ASP.NET-Websites verschrottet, die
__VIEWSTATE
verwenden (verwendet unter https://blog.scrapinghub.com/2016/04/20/scrapy-tips-from-the-pros-april-2016). -Edition als Tutorial zum Crawlen von ASP.NET-Websites). - Außerdem würde am Ende der vollständigen Datenvernichtung eine POST-Anfrage an die angegebene
URL
gestellt werden. - Außerdem wurde die Datei setup.py hinzugefügt.
- Die extrahierte Datei enthält die folgenden Spalten:-
- Zustand
- Bezirk
- ULB-Name
- Station
- Anzahl der eingegangenen Bewerbungen
- Anzahl der nicht überprüften Bewerbungen
- Anzahl der überprüften Bewerbungen
- Anzahl der genehmigten Anträge
- Anzahl der genehmigten Anträge mit Aadhar-Nr.
- Anzahl der abgelehnten Bewerbungen
- Anzahl der Anwendungen Pullback
- Anzahl der abgeschlossenen Bewerbungen
- Anzahl der gebauten Toilettenfotos
- Anzahl der begonnenen Toilettenfotos
- Anzahl der gebauten Toilettenfotos durch Swachhalaya
Zweifel/Annahmen
- ZWEIFEL=> Wie können wir alle 5 Minuten eine POST-Anfrage stellen, da das Crawlen der Daten selbst viel mehr Zeit in Anspruch nimmt?
ANNAHME => Um die Post-Anfrage alle 5 Minuten zu stellen, können wir das Projekt in den ScrapingHub stellen und es so planen, dass es alle 5 Minuten gecrawlt wird. Der Crawler ist so konzipiert, dass er nach Abschluss des Crawlings eine POST-Anfrage sendet und die Daten automatisch veröffentlicht werden.
- DOUBT=> Wie viele Ausgabedateien werden benötigt? Wie eine Datei mit allen Informationen. Oder die 4 Dateien mit Informationen für 4 verschiedene Ebenen wie Bundesstaat, Bezirk, ULB und Bezirksebene.
ANNAHMEN => Ich habe nur eine CSV-Datei erstellt, deren Tabelle in der Aufgabe mit allen Informationen angezeigt wurde. Da alle anderen Informationen problemlos aus dieser Datei extrahiert werden können.
So richten Sie es ein
- Klonen Sie das Repository
git clone https://github.com/sagar-sehgal/SwatchBharaturban_Crawler
- Erstellen Sie eine virtuelle Umgebung
virtualenv venv --python=python3
- Aktivieren Sie die virtuelle Umgebung
- Ändern Sie das Repository
cd SwatchBharaturban_Crawler
- Installieren Sie die Abhängigkeiten
pip install -r requirements.txt
- Führen Sie den Crawler aus
scrapy crawl swatchbharaturban_crawler
Die gecrawlten Daten würden in der Datei swatchbharaturban_crawler/data/swatchbharat_data.csv
gespeichert.