単純な php クローラー スクリプトを変更しています。
使用するモジュールの 1 つは、相対 URL から絶対 URL へのコンバーターです。
そのためには、特定の URL のベース href を特定する方法を見つける必要があります。そうしないと、間違って変換されたリンクがたくさんできてしまいます。
URL に base href タグがあるかどうかを確認し、ある場合はそれを返す単純な関数が必要です。
ありがとう
単純な php クローラー スクリプトを変更しています。
使用するモジュールの 1 つは、相対 URL から絶対 URL へのコンバーターです。
そのためには、特定の URL のベース href を特定する方法を見つける必要があります。そうしないと、間違って変換されたリンクがたくさんできてしまいます。
URL に base href タグがあるかどうかを確認し、ある場合はそれを返す単純な関数が必要です。
ありがとう
parse_url()
URL をその部分に分割します。そこから必要なものを得ることができます。
正確な意味はわかりませんが、parse_urlは、ホスト名、クエリ文字列などの多くの情報を提供します。
私があなたのことを正しく理解していれば、URL に http が含まれているかどうか知りたくありません。parse_url が返す情報のスキーム部分は、ここであなたの友達です。スキームが空であるか、http とは異なる場合は、URL に http が含まれていないことがわかります。
クローラー内で特定のページのクロールを開始し、質問が正しいと理解できれば、その HTML を解析します。parse_url が提供する情報からベース URL (パスなし) を作成するだけで問題はありません。
URL に base href タグがあるかどうかを確認し、ある場合はそれを返す単純な関数が必要です。
HTML タグであるため、URL に base href タグを含めることはできません。その URL から取得する HTML で定義されている場合があります。それを読む方法は、この質問にあります。