Python-Scraping-Memo

Dies ist ein Memo von Tools, die beim Scraping mit Python verwendet werden können.

Anfragen - Holen Sie sich Daten aus dem Web

Der einfachste Weg, mit Python auf das Web zuzugreifen, ist die Verwendung von "Anfragen". Sie können es mit pip installieren. Für GET und POST ist die Verwendung von request.get und request.post im Allgemeinen ausreichend.

Installation

$ pip install requests

Bitte sehen Sie hier für Details. http://requests-docs-ja.readthedocs.org/en/latest/

BeautifulSoup4 - Parsen von HTML

BeautifulSoup4 ist eine gute Möglichkeit, HTML zu analysieren.

>>> from bs4 import BeautifulSoup
>>> soup = BeautifulSoup('<div><h1 id="test">TEST</h1></div>', 'html')
>>> soup.select_one('div h1#test').text
'TEST'

Die Zeichen im Tag sind "oup.text ", und auf die Attribute kann mit "oup ['id']" zugegriffen werden (wobei id der Attributname ist).

Häufig verwendete Methode des BeautifulSoup-Objekts

--BeautifulSoup.find () -> Suche nach Tags und gib das erste Treffer-Tag zurück --BeautifulSoup.find_all () -> Nach Tags suchen und eine Liste der Treffer-Tags zurückgeben --BeautifulSoup.find_previous () -> Gibt das vorherige Tag zurück --BeautifulSoup.find_next () -> Gibt das nächste Tag zurück --BeautifulSoup.find_parent () -> Gibt das übergeordnete Tag zurück --BeautifulSoup.select () -> gibt eine Liste von Tags mit CSS-Selektor zurück --BeautifulSoup.select_one () -> Suchen Sie mit dem CSS-Selektor und geben Sie das erste Treffer-Tag zurück

Bitte sehen Sie hier für Details. http://kondou.com/BS4/

Datenpersistenz

CSV-Format

CSV ist eine durch Kommas getrennte Formatdatei. Sie können das CSV-Modul verwenden. Erfahren Sie hier mehr über das CSV-Modul. http://docs.python.jp/3.4/library/csv.html

Schreiben

import csv
with open('some.csv', 'wb') as f:
    writer = csv.writer(f)
    writer.writerows(someiterable)

lesen

import csv
with open('some.csv', 'rb') as f:
    reader = csv.reader(f)
    for row in reader:
        print row

JSON-Format

Das JSON-Format ist ebenfalls ein häufig verwendetes Format. Verwenden Sie das Standardmodul json Modul.

>>> import json
>>> json.dumps([1, 2, 3, 4])
'[1, 2, 3, 4]'
>>> json.loads('[1, 2, 3, 4]')
[1, 2, 3, 4]
>>> json.dumps({'aho': 1, 'ajo': 2})
'{"aho": 1, "aro": 2}'
>>> json.loads('{"aho": 1, "ajo": 2}')
{u'aho': 1, u'aro': 2}

--json.dumps () -> Machen Sie das Objekt zu einer JSON-Zeichenfolge --json.loads () -> JSON-Zeichenfolge zu einem Objekt machen --json.dump () -> Verwandeln Sie das Objekt in eine JSON-Zeichenfolge und schreiben Sie es in eine Datei --json.load () -> Lesen Sie die JSON-Zeichenfolge in der Datei und machen Sie sie zu einem Objekt

Bitte sehen Sie hier für Details. http://docs.python.jp/3.4/library/json.html

Stichprobe

Ich habe einige als Kratzprobe vorbereitet. siehe. Es gibt jedoch auch allgemeine Websites. Bitte werfen Sie keine Anfragen. Selbst wenn Sie einen Fehler machen, können Sie die Schleife nicht einfach drehen.

Eine Site, die interessant erscheint, wenn Sie versuchen, Daten zu sammeln

--https: //teratail.com/ Es ist möglicherweise eine gute Idee, den Eintrag auf der oberen Seite zu mähen. --http: //isitchristmas.com/ Weihnachtsurteil (rechtzeitig) --https: //data.nasa.gov/developer NASA-Daten sind verfügbar, daher kann es interessant sein, sie nachzuschlagen.

Es gibt viele andere Websites, die gut aussehen ...

Recommended Posts

Python-Scraping-Memo
[Scraping] Python-Scraping
Python Scraping get_ranker_categories
Scraping mit Python
Python lernen note_000
Python-Lernnotizen
Scraping mit Python
Python-Anfängernotizen
Python lernen note_006
Python Scraping eBay
Python C ++ Notizen
Python Scraping get_title
Python lernen note_005
Python-Grammatiknotizen
Python Library Hinweis
Python: Scraping Teil 1
Python persönliche Notizen
Scraping mit Python
Python Pandas Memo
Python lernen note_001
Python-Lernnotizen
Installationshinweise zu Python3.4
Python: Scraping Teil 2
WEB-Scraping mit Python (für persönliche Notizen)
Scraping in Python (Vorbereitung)
Versuchen Sie es mit Python.
fehlende Ganzzahlen Python persönliche Notizen
UnicodeEncodeError: 'cp932' während des Python-Scrapings
Grundlagen der Python-Scraping-Grundlagen
Scraping mit Python + PhantomJS
Hinweise zur Entwicklung von Python-Paketen
Verwendungshinweise für Python Decorator
Python-IP-Adresse Paket Memo
Notizen im Python Pickle-Format
Erstes Python-Memo
Matlab => Python-Migrationsnotizen
Schaben mit Selen [Python]
Hinweise zur Python3-Zuweisung
Scraping mit Python + PyQuery
Hinweise zur Verwendung von Python-Unterprozessen
Python versuchen / außer Memo
Scraping von RSS mit Python
Hinweise zur Python-Framework-Flasche
Python-Memo mit perl-ternärem Operator
Scraping mit Python 3.5 async / await
Web Scraping mit Python + JupyterLab
Schaben mit Selen in Python
Schaben mit Selen + Python Teil 1
O'Reilly python3 Primer Lernnotiz
[Python] Scraping in AWS Lambda
Python Super Anfänger versucht zu kratzen
Python
Schaben mit Chromedriver in Python
Festliches Scraping mit Python, Scrapy
Hinweise zur Verwendung des Python-Standards unittest
Python-Notizen, die Sie bald vergessen sollten