[PYTHON] Ich habe versucht, die Informationen des Webs mit "Requests" und "lxml" abzurufen.

Ich denke über die Verwendung von Scrapy nach, habe aber zuerst versucht, Webinformationen mit "Requests" und "lxml" abzurufen. Der erste Schritt beim Web Scraping mit Python.

Was ich getan habe

Installation

pip install requests
pip install lxml

HTML zum Testen

Ich habe es auf EC2 gestellt und über das Internet getestet.

test.html


<html>
    <body>
        <div id="test1">test1
            <ul id="test1_ul">test1 ul</ul>
        </div>
    </body>
</html>

Scraping-Code

(Fehlerbehandlung, wenn kein Argument usw. vorhanden ist, ist nicht implementiert)

scraping.py


import sys
import requests
import lxml.html

#set dummy user-agent
headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/602.4.8 (KHTML, like Gecko) Version/10.0.3 Safari/602.4.8'}

#Geben Sie die URL als Argument an
url = ''
if len(sys.argv) > 1:
    url = sys.argv[1]

response = requests.get(url, headers = headers)
html = lxml.html.fromstring(response.content)

for div in html.xpath('//*[@id="test1_ul"]') :
    print(div.text)

Der Ausführungsbefehl lautet wie folgt. Die URL des Arguments ist beliebig.

python scraping.py http://ec2******

Andere

Mit den Entwicklertools von Chrome können Sie problemlos XPath- und CSS-Selektoren abrufen.

Recommended Posts

Ich habe versucht, die Informationen des Webs mit "Requests" und "lxml" abzurufen.
[Python] Ich habe versucht, mithilfe der YouTube-Daten-API verschiedene Informationen abzurufen!
Ich habe versucht, Web-Scraping mit Python und Selen
Ich habe versucht, mit AWS Lambda einen AMI zu erhalten
Versuchen Sie, mithilfe der Python-Anforderungsbibliothek eine Webseite und eine JSON-Datei abzurufen
Python-Programmierung: Ich habe versucht, Nachrichtenartikel mit Selenium und BeautifulSoup4 abzurufen (zu crawlen)
Ich habe versucht, die Standortinformationen des Odakyu-Busses zu erhalten
Ich habe versucht, verschiedene Informationen von der Codeforces-API abzurufen
Ich habe versucht, mit pypyodbc schnell Daten von AS / 400 abzurufen
Ich habe versucht, mit Pandas eine Pferderenn-Datenbank zu erstellen
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
Ich habe versucht, Pepper über Ereignisinformationen und Mitgliederinformationen sprechen zu lassen
Ich habe versucht, mit Boto3 eine Liste der AMI-Namen zu erhalten
Ich habe versucht, mit pypyodbc Preparation 1 schnell Daten von AS / 400 abzurufen
Ich habe versucht, Azure Speech to Text zu verwenden.
Ich habe versucht, mit Hy anzufangen
Ich habe versucht, PyEZ und JSNAPy zu verwenden. Teil 2: Ich habe versucht, PyEZ zu verwenden
Ich habe versucht, Text mit TensorFlow zu klassifizieren
Ich habe eine Web-API erstellt
Scraping mit lxml und Speichern in MySQL
Ich habe versucht, die Trefferergebnisse von Hachinai mithilfe der Bildverarbeitung zu erhalten
Ich habe versucht, datetime <-> string mit tzinfo mit strftime () und strptime () zu konvertieren.
Ich habe versucht, die Phase der Geschichte mit COTOHA zu extrahieren und zu veranschaulichen
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Starten Sie einen Webserver mit Bottle and Flask (ich habe auch versucht, Apache zu verwenden)
Ich habe ein Beispiel für den Zugriff auf Salesforce mit Python und Bottle erstellt
Ich möchte eine Webanwendung mit React und Python Flask erstellen
Ich habe versucht, PyEZ und JSNAPy zu verwenden. Teil 1: Übersicht
Ich habe Web Scraping versucht, um die Texte zu analysieren.
Ich habe DCGAN implementiert und versucht, Äpfel zu generieren
Ich habe versucht, durch Schaben ein Bild zu bekommen
Ich habe versucht, Objekte mit Python und OpenCV zu erkennen
Ich habe versucht, WAV-Dateien mit Pydub zu synthetisieren.
Ich habe versucht, CloudWatch-Daten mit Python abzurufen
Python-Programmierung: Ich habe versucht, mithilfe von BeautifulSoup4 Unternehmensinformationen (Crawlen) von Yahoo Finance in den USA abzurufen
[Einführung in PID] Ich habe versucht, ♬ zu steuern und zu spielen
Ich habe ein ○ ✕ Spiel mit TensorFlow gemacht
Ich habe versucht, das Update von "Hameln" mit "Beautiful Soup" und "IFTTT" zu benachrichtigen.
Ich habe versucht, parametrisiert zu verwenden
Ich habe versucht, Argparse zu verwenden
Ich habe versucht, Mimesis zu verwenden
Ich habe versucht, aiomysql zu verwenden
Ich habe versucht, Summpy zu verwenden
Ich habe versucht, Coturn zu verwenden
Ich habe versucht, Pipenv zu verwenden
Ich habe versucht, Matplotlib zu verwenden
Ich habe versucht, "Anvil" zu verwenden.
Ich habe versucht, Hubot zu verwenden
Ich habe versucht, ESPCN zu verwenden
Ich habe versucht, openpyxl zu verwenden
Ich habe versucht, Ipython zu verwenden
Ich habe versucht zu debuggen.
Ich habe versucht, PyCaret zu verwenden
Ich habe versucht, Cron zu verwenden
Ich habe versucht, ngrok zu verwenden
Ich habe versucht, face_recognition zu verwenden
Ich habe versucht, Jupyter zu verwenden