これについての投稿がたくさんあることは知っていますが、XPathはウェブスクレイピングに関する私の弱点です。私は正しいと確信しているにもかかわらず、以下は動作していないようです。XPATHでcontainsとfollowing-siblingを使用しています
基本的に私は、 "Pivot Point 2nd Level Resistance"というテキストを含むtdを探しており、次の兄弟のtd値をとっています。何が悪かったのか?
以下( "-兄弟以下// TD [含まれています(テキスト()、 'ピボットポイント 第2レベルの抵抗')]/:: TD [1]")の文字列RS2 = doc.DocumentNode.SelectSingleNode。
<tr data-ng-repeat="point in cheatSheetData | filter:categoryFilter" data-ng-class="point.class" class="high support-resistance"> <td class="label support-resistance highlight" data-ng-class="{'highlight': point.labelSupportResistance}"> Pivot Point 2nd Level Resistance </td> <td class="value"> 9.43 </td> <td class="label pivot-points" data-ng-class="{'highlight': point.labelTurningPoints}"> </td> </tr>
EDを:
のinnerText私はこするてるものですIT:私が掻き取ろうとしているウェブサイトのデータが、事実の後にロードされるように変わったように見えるので、ノードはスクレイプ中に利用できません。私はヘッドレスブラウザのためにPhantom & Seleniumを設定するルートを調べることでこれをテストしました。これは私が取るべきルートではありませんが、問題が見つかりました。
私は申し訳ありませんが、それは私の間違いでした。私は実際のコードに従う前にスラッシュを持っているので、それ以外では違いはありません。 text()を "。"に置き換えようとしました。しかし、それは何も変わらない。 – goodfella
私は修正とあなたの入力HTMLをスニペットを追加しました。ここでは他の 'td'の内部テキストを得ています。 –
私はそれを考え出したと思います - XPathはうまくいきますが、ノードは生成されていません。私はPhantomとSeleniumの道を通り抜け、うまく動作します。私は遅れに対処しなければならないので、ただの失望です。そうでなければ、説明してください。 – goodfella