[PYTHON] Scraping von Alexas Web Rank mit pyQuery

Was du machen willst

** Ich habe versucht, pyQuery zu verwenden. ** ** ** Ich habe auch eine Bibliothek namens Scrapy gefunden, aber sie scheint problematisch zu sein, da sie Crawler enthält, also vermeide ich sie. beautifulsoup sieht gut aus, aber dieses Mal werde ich pyQuery ausprobieren.

Installation

$ yum install libxml2-devel libxslt-devel
$ pip install pyquery

Da pyQuery libxml2 verwendet, installieren Sie es zuerst. Wenn Sie kein Pip haben, installieren Sie es ebenfalls.

Referenziert (versuchen Sie es mit einem pyQuery-Beispiel)

Ich habe versucht, die Erdbebeninformationsseite mit dem Beispielcode [hier] [Ref1] zu kratzen.

pqsample.py


import pyquery
query = pyquery.PyQuery("http://www.jma.go.jp/jp/quake/quake_local_index.html", parser='html')
for tr in query('.infotable')('tr'):
    print query(tr).text()

Dieser Code druckt den Inhalt des <tr> -Tags unter der class =" infotable " in einer for-Schleife. Als ich die Konfiguration von HTML mit dem Entwicklertool von Chrome überprüfte, war es wie folgt. image

Ich habe die folgenden Erdbebeninformationen gehorsam mit python pqsample.py erhalten. Sicher einfach.

Datum und Uhrzeit der Informationsansage Datum und Uhrzeit des Auftretens Erdbebenzentrum Ortsname Größe Maximale seismische Intensität 03. Dezember 2014, 14:38 Uhr Um 14:32 Uhr am 3. März 2014 Präfektur Nord-Nagano M1.6 Erdbebenintensität 1 03. Dezember 2014 06:03 Gegen 06:00 Uhr in der 3. Präfektur Nord-Nagano M2.0 Seismische Intensität 1

Alexa-Ranking-Analyse

Ich fand, dass es funktioniert, also fing ich an, die Lieblingsseite zu kratzen. Öffnen Sie die gewünschte Seite in Chrom, drücken Sie im Fenster der Entwicklertools (STRG-Umschalt-I) auf die Lupenmarkierung und klicken Sie auf das Element, das Sie untersuchen möchten. Der DOM-Baum wird wie unten gezeigt angezeigt. (Wenn Sie ein Firefox sind, können Sie dies im Inspektor überprüfen.)

image

Bei dieser Baumstruktur sollten Sie die Tags "

  • " mit dem Schlüssel "class =" site-listing "als Schlüssel auflisten. Der Rang ist in "count" und die Domain befindet sich im "" -Tag unter "desc -agraph". Ich habe den Code geschrieben, um diese an csv auszugeben, indem ich for gedreht habe.

    alexa.py

    
    import pyquery
    
    for page in range(20):
        query = pyquery.PyQuery("http://www.alexa.com/topsites/countries;" + str(page) + "/PE", parser='html')
        for li in query('.site-listing')('li'):
            print query(li)('.count').text() + ", " + query(li)('.desc-paragraph')('a').text()
    

    Dieses Mal wollte ich einen peruanischen Rang, also gab ich den Ländercode / PE an. Wenn Sie hier Ihren bevorzugten Ländercode angeben, können Sie die Seite dieses Landes abrufen. Der Code durchläuft 20 HTML-Seiten. Führen Sie also python alexa.py aus.

    image

    csv ist fertig. Großer Erfolg. Danach ist es nützlich, eine Tabelle mit Excel zu erstellen oder einen Verbindungstest mit Curl durchzuführen.

    Zusammenfassung

    • Mit der Kombination aus Chrom und pyQuery können Sie die durch Ausschneiden und Einfügen erhaltenen Informationen problemlos abkratzen. -Obwohl Alexas API von AWS verwendet werden kann, ist dies gut, da die TOP-Liste anscheinend nicht abgerufen werden kann. ・ Ich kann bald einen Band mit einfachen Verbindungstests mit Curl schreiben.

    Referenzseite

    [Scraping mit Python (Pyquery)] [Ref1] [Ref1]:http://d.hatena.ne.jp/kouichi501t/20130407/1365328955

    Recommended Posts

    Scraping von Alexas Web Rank mit pyQuery
    Scraping mit Python + PyQuery
    Web Scraping mit Python + JupyterLab
    Speichern Sie Bilder mit Web Scraping
    Einfaches Web-Scraping mit Scrapy
    Web Scraping Anfänger mit Python
    Web Scraping mit Python Erster Schritt
    Ich habe versucht, WebScraping mit Python.
    Web Scraping
    WEB-Scraping mit Python (für persönliche Notizen)
    Erste Schritte mit Python Web Scraping Practice
    [Persönlicher Hinweis] Scraping von Webseiten in Python3
    Pferderennseite Web Scraping mit Python
    Erste Schritte mit Python Web Scraping Practice
    Üben des Web-Scrapings mit Python und Selen
    Einfaches Web-Scraping mit Python und Ruby
    WEB-Scraping mit BeautifulSoup4 (Seriennummernseite)
    [Für Anfänger] Versuchen Sie Web Scraping mit Python
    Schaben mit Selen
    Scraping mit Python
    Scraping mit Python
    Web Scraping (Prototyp)
    Schaben mit Selen
    Führen Sie das WEB-Scraping regelmäßig mit AWS-Lambda + Python + Cron aus
    Web Scraping mit Python (Wettervorhersage)
    Web Scraping mit Python (Aktienkurs)
    Erfolgreiches Schaben mit Selen
    Scraping in Python (Vorbereitung)
    Versuchen Sie es mit Python.
    Datenanalyse zur Verbesserung von POG 1 ~ Web Scraping mit Python ~
    Scraping mit Python + PhantomJS
    Erste Schritte mit Web Scraping
    Schnelles Web-Scraping mit Python (unterstützt das Laden von JavaScript)
    Schaben mit kratzender Schale
    Python-Anfänger bleiben beim ersten Web-Scraping stecken
    Schaben mit Selen [Python]
    Kratzen mit schöner Suppe
    Scraping von RSS mit Python
    Webcrawlen, Web-Scraping, Zeichenerfassung und Speichern von Bildern mit Python
    Ich habe versucht, mit Python zu kratzen
    Laden Sie Bilder automatisch mit Scraping herunter
    Schaben mit Selen in Python
    Schaben mit Selen + Python Teil 1
    Festliches Scraping mit Python, Scrapy
    Entwicklung von Webanwendungen mit Flask
    Scraping mit Selen in Python
    WEB-Scraping-Technologie und Bedenken
    Erstellen Sie eine Webanwendung mit Django
    Kompromisse beim Web Scraping & Crawlen
    Scraping mit Tor in Python
    Web-API mit Python + Falcon
    Bildersammlung mit Web Scraping
    Web Scraping mit Selenium (Python)
    Kratzwettervorhersage mit Python
    Schaben Nikkei Durchschnitt mit Dramatiker-Python
    Web Scraping mit AWS Lambda