Beim letzten Mal habe ich die am häufigsten verwendete [XPath-Schreibmethode] eingeführt (https://qiita.com/Octoparse_Japan/items/2f46848803d68affd271). Dieses Mal habe ich die Funktionen eingeführt, die XPath häufig verwendet, um Daten korrekter anzugeben. Ich werde.
enthält () wird normalerweise für die Fuzzy-Suche nach Attributwerten oder Zeichenfolgen im Text verwendet.
Wenn Sie beispielsweise alles, was Rot im Klassenattribut enthält, aus diesem HTML-Code abrufen möchten, schreiben Sie wie folgt.
//span[contains(@class,“Red”)]
Mit anderen Worten bedeutet dieser XPath, ein span-Element ** zu erhalten, das Rot in der ** Klasse enthält.
Wenn Sie beispielsweise ein Element angeben möchten, das die Zeichen "Rowling" aus diesem HTML-Code enthält, schreiben Sie wie folgt.
//span[contains(text(),"Rowling")]
** Tipps! ** ** ** Bei der Angabe der Seitenvorschubschaltfläche wird häufig ** "enthält (text ()," next ")" ** verwendet. Klicken Sie hier, um zu erfahren, wie Sie einen XPath schreiben, der eine Schaltfläche zum Weiterleiten von Seiten angibt. ➡ So schreiben Sie einen XPath, der eine Schaltfläche zum Weiterleiten von Seiten angibt
Im vorherigen Artikel habe ich vorgestellt, dass Sie die Ordnungselemente erhalten können, indem Sie eine Zahl in [](eckige Klammer) einfügen. Sie können auch das N-te Element in Position angeben.
Im obigen HTML-Code ist beispielsweise "Produkt 3" das 4. Element. Schreiben Sie es also wie folgt.
//tbody/th[4]
Schreiben Sie mit position () = wie folgt.
//tbody/th[position()=4]
Wenn Sie ein anderes Element als "Werbung" erhalten, schreiben Sie wie folgt, da "Werbung" das erste Element ist.
//tbody/th[position()>1]
Wenn Sie ein Element angeben möchten, das mehrere Bedingungen gleichzeitig enthält, verwenden Sie die Funktion und / not / oder.
Wenn Sie die href einschließlich "S_20" und "pdf" aus diesem HTML erhalten möchten, schreiben Sie wie folgt.
//a[contains(@href,“S_20”) and contains(@href,“pdf”)]
Wenn Sie aus diesem HTML-Code ein anderes [@href] als https://helpcenter.octoparse.jp/hc/ja/xpath/S_10.html erhalten möchten, schreiben Sie wie folgt.
//a[not(contains(@href, "S_10"))]
Wenn Sie die href mit M oder L aus diesem HTML-Code erhalten möchten, schreiben Sie wie folgt.
//a[contains(@href,”M_”) or contains(@href,”L_”)]
Wenn Sie eine andere href als M oder L erhalten möchten, kombinieren Sie nicht und oder und schreiben Sie wie folgt.
//a[not(contains(@href,”M_”) or contains(@href,”L_”))]
Die oben genannten Funktionen werden häufig für XPath verwendet. Weitere Informationen zur XPath-Syntax / -Funktionen finden Sie in diesem Artikel.
Originalartikel: https://helpcenter.octoparse.jp/hc/ja/articles/360012713639
Recommended Posts