#被リンクチェッカーProgram改   H211002作成 #100個の相互リンクを1回の設定で4回繰り返して調査する #●注記 HTTPデータ取得が機能しなくなったときの対応 #1案.「WINDOWS再起動」により、なでしこを再起動する。 採用 #2案.なでしこ内で、停止−−>再実行する。 不採用 #○実行直後に、保存データをチェックして、再開するリンク先を選別する #○「毎行読む」欄の「続ける」は、存在意味がない 将来確認後除去する # 初期条件 目標サイト=「http://www.○○.com/」#  :あなたのHPのURL リンク集データ=「D:\hilinkcheck\list.dat」#          :「list.dat のローカルアドレス」 調査結果データ=「D:\hilinkcheck\リスト.txt」#          :「リスト.txt のローカルアドレス」 # # *変数説明* # データ集計マトリクス【i,j】:調査対象や調査結果を集計するマトリックス # 調査回数       :調査回数は初回が1、最終が4 # トップ掲載リンク一覧 :1個の被リンク先トップページに掲載されているリンク一覧 # 次層掲載リンク一覧  :被リンク先トップ直下のページに掲載されているリンク一覧 #              この中に中継URLが含まれる # 第3層掲載リンク一覧 :次層直下のページに掲載されているリンク一覧 #              この中の1つに目標サイトへのリンクが掲載される # SEOページ掲載リンク一覧:seoplink自動ページングページ掲載リンク一覧 # 実相互リンク設置先  :検出した相互リンク設置先 # 発リンク数      :検出した相互リンク設置先の発リンク数(保留) # 登録URL        :調査中の登録された被リンク先トップ # 相互リンク設置先   :調査中の登録された相互第3層URL # 次層URL        :調査中の被リンク先トップからリンクされたページ # 第3層URL       :調査中の次層URLからリンクされたページ # SEOURL       :調査中の相互リンク設置先から自動ページングされたページ # *カウンタリスト* # カウンタ       :汎用カウンタ # カウンタ1      :トップ掲載リンクループカウンタ # カウンタ2      :次層掲載リンクループカウンタ # カウンタ3      :第3層掲載リンクループカウンタ # カウンタ4      :相互リンク設置先から自動ページングされたページカウンタ カウンタ4MAX=20 #  :相互リンク設置先から自動ページングされたページMAX # トップカウンタ    :トップページ掲載リンク区分用カウンタ # 次層カウンタ     :次層ページ掲載リンク区分用カウンタ # 第3層カウンタ    :第3層ページ掲載リンク区分用カウンタ # SEOカウンタ    :seoplink自動ページングページ掲載リンク区分用カウンタ # 開始時刻       :1個の被リンク先調査開始時間(秒) # 現在時刻       :現在時間(秒) 経過時間MAX=3600  #:1個の被リンク先調査限度時間(秒) # *結果の説明* # 調査結果NO【NO】 1:相互リンク設置先に目標サイトへのリンクが有った # 調査結果NO【NO】 2:相互リンク設置先外のページに目標サイトへのリンクが有った # 調査結果NO【NO】 3:目標サイトへのリンクが見つからなかった # 調査結果NO【NO】 4:登録サイトアクセス不良(サイトが存在しない、通信不良) # 調査結果NO【NO】 5:1個の被リンク先の調査時間が所定時間を超えた #(1) --- 相互リンク集のデータを読み込んで、データ集計マトリクス【i,j】を作成する カウンタ=0 リンク集データを毎行読む。 反復   もし、それが空ならば、続ける。   カウンタ=カウンタ+1   それはそれをSJIS変換したもの   リンク集データM【カウンタ】=それ データ数=カウンタ カウンタで1からデータ数まで繰り返す。   データMはリンク集データM【カウンタ】を「,」で区切ったもの。   データ集計マトリクス【0,カウンタ】=データM【1】   # 登録URL   データ集計マトリクス【1,カウンタ】=「」       # 1回目調査結果NO   データ集計マトリクス【2,カウンタ】=「」       # 2回目調査結果NO   データ集計マトリクス【3,カウンタ】=「」       # 3回目調査結果NO   データ集計マトリクス【4,カウンタ】=「」       # 4回目調査結果NO   データ集計マトリクス【5,カウンタ】=「」       # 総合調査結果NO   データ集計マトリクス【6,カウンタ】=データM【7】   #リンク設置先(申請)   データ集計マトリクス【7,カウンタ】=「」       #リンク設置先(実際)   データM【1】のURLドメイン名抽出してデータ集計マトリクス【8,カウンタ】に代入 # #(1-2) --- 調査結果データを読み込んで、データ集計マトリクス【i,j】に入力する # #記録データ配列 "調査回数,登録URL,設置URL,調査結果URL,調査結果NO,総合調査結果NO" #          0    1    2     3     4     5 カウンタ=0 調査結果データを毎行読む。 反復   それをそれ2に代入。   それで1から「終わりました」を文字検索   もし、それ>0ならば、「調査完了後起動」へ飛ぶ。   もし、それ2が空ならば、続ける。   それ2の1から1文字抜き出す。   それをそれ3に代入。   もし、(それ3<>「1」)AND(それ3<>「2」)AND(それ3<>「3」)AND(それ3<>「4」)AND(それ3<>「5」)ならば、続ける。   カウンタ=カウンタ+1   #それ2はそれ2をSJIS変換したもの   調査結果データM【カウンタ】=それ2 データ数2=カウンタ カウンタ=0 ▲繰返基点   カウンタ=カウンタ+1   もし、カウンタ>データ数2ならば     「調査回数特定」へ飛ぶ。               # --- 次へいく   データM2は調査結果データM【カウンタ】を「,」で区切ったもの。   もし、データM2【0】=1 ならば     カウンタ5で1からデータ数まで繰り返す。  # --- list.datのデータ数       もし、データ集計マトリクス【0,カウンタ5】=データM2【1】ならば         データ集計マトリクス【1,カウンタ5】=データM2【4】         データ集計マトリクス【5,カウンタ5】=データM2【5】         データ集計マトリクス【7,カウンタ5】=データM2【3】   もし、データM2【0】=2 ならば     カウンタ5で1からデータ数まで繰り返す。  # --- list.datのデータ数       もし、データ集計マトリクス【0,カウンタ5】=データM2【1】ならば         データ集計マトリクス【2,カウンタ5】=データM2【4】         データ集計マトリクス【5,カウンタ5】=データM2【5】         データ集計マトリクス【7,カウンタ5】=データM2【3】   もし、データM2【0】=3 ならば     カウンタ5で1からデータ数まで繰り返す。  # --- list.datのデータ数       もし、データ集計マトリクス【0,カウンタ5】=データM2【1】ならば         データ集計マトリクス【3,カウンタ5】=データM2【4】         データ集計マトリクス【5,カウンタ5】=データM2【5】         データ集計マトリクス【7,カウンタ5】=データM2【3】   もし、データM2【0】=4 ならば     カウンタ5で1からデータ数まで繰り返す。  # --- list.datのデータ数       もし、データ集計マトリクス【0,カウンタ5】=データM2【1】ならば         データ集計マトリクス【4,カウンタ5】=データM2【4】         データ集計マトリクス【5,カウンタ5】=データM2【5】         データ集計マトリクス【7,カウンタ5】=データM2【3】   「繰返基点」へ飛ぶ。 #(1-3) --- 調査結果データの最後のデータを見て現在の調査回数を特定する ▲調査回数特定 G=データ集計マトリクス【4,データ数2】   #もし、(G=「1」)OR(G=「2」)OR(G=「3」)OR(G=「4」)OR(G=「5」)ならば   もし、(G=1)OR(G=2)OR(G=3)OR(G=4)OR(G=5)ならば     調査回数に4を代入して、「調査開始」へ飛ぶ。 G=データ集計マトリクス【3,データ数2】   #もし、(G=「1」)OR(G=「2」)OR(G=「3」)OR(G=「4」)OR(G=「5」)ならば   もし、(G=1)OR(G=2)OR(G=3)OR(G=4)OR(G=5)ならば     調査回数に3を代入して、「調査開始」へ飛ぶ。 G=データ集計マトリクス【2,データ数2】   #もし、(G=「1」)OR(G=「2」)OR(G=「3」)OR(G=「4」)OR(G=「5」)ならば   もし、(G=1)OR(G=2)OR(G=3)OR(G=4)OR(G=5)ならば     調査回数に2を代入して、「調査開始」へ飛ぶ。 調査回数=1 #(2) --- ここから調査 ▲調査開始 #(2) --- list.datから1個づつ相互リンク先を調査する カウンタ1=0 結果保存1 # ---------- ●SubRoutineへ飛んでTXTへデータの項目を書き込む ▲Top掲載リンク処理ループ# --- 相互リンク集データ処理ループの開始点 カウンタ1=カウンタ1+1 もし、カウンタ1<=データ数ならば、「続行」へ飛ぶ。 もし、調査回数=4 ならば、「全調査完了」へ飛ぶ。 調査回数=調査回数+1 「調査開始」へ飛ぶ。 ▲続行 現在時刻sub。 # ------------ 被リンク先調査開始時間を現在時刻に代入して戻る 開始時刻=現在時刻 調査結果番号=0 実相互リンク設置先=「」 登録URL=データ集計マトリクス【0,カウンタ1】 登録URLドメイン=データ集計マトリクス【8,カウンタ1】 相互リンク設置先=データ集計マトリクス【6,カウンタ1】 #(*) --- 調査先選び出し #○最終結果が入っているところはパスする G=データ集計マトリクス【5,カウンタ1】 #もし、(G=「1」)OR(G=「2」)OR(G=「3」)OR(G=「4」)OR(G=「5」)ならば もし、(G=1)OR(G=2)OR(G=3)OR(G=4)OR(G=5)ならば   「Top掲載リンク処理ループ」へ飛ぶ。 #○同一調査回数にデータが入っているところはパスする G=データ集計マトリクス【調査回数,カウンタ1】 #もし、(G=「1」)OR(G=「2」)OR(G=「3」)OR(G=「4」)OR(G=「5」)ならば もし、(G=1)OR(G=2)OR(G=3)OR(G=4)OR(G=5)ならば   「Top掲載リンク処理ループ」へ飛ぶ。 #(3) --- 1個の登録URLの読取確認 登録URL調査中=1 読取失敗=0 登録URLを調査URLに代入。 ▲再読取 URL読取確認。 # ---------------- 調査URLを携えて、●SubRoutineへ飛ぶ          # ---------------- HTTPデータ取得して本体に代入して戻る 登録URL調査中=0 もし、それがはいならば   もし、読取失敗=1ならば     データ集計マトリクス【調査回数,カウンタ1】=4     結果保存4     WINDOWS再起動# ------------- 読取失敗したら、この場所で再起動する   読取失敗=1   #結果保存4   60秒待つ   「再読取」へ飛ぶ。 違えば   読取失敗=0 #(方針) --- Topページに掲載されているリンク一覧を取得して、 #      順番に相互リンク設置先へのリンク有無を見る #(4) --- Top掲載リンク一覧をトップ掲載リンク一覧M【トップカウンタ】に代入 基本URLは調査URLからURL基本パス抽出したもの トップカウンタ=0 本体からHTMLリンク抽出して反復   「:」まで切り取って小文字変換してプロトコルに代入。   プロトコルで条件分岐   「mailto」ならば続ける。     「javascript」ならば続ける。   もし、RIGHT(対象,1)=「/」ならば     母艦は対象。     対象を基本URLでURL展開して対象に代入。       もし、RIGHT(対象,1)<>「/」ならば、対象に「/」を追加する。   違えば     母艦は対象。              # ------ 対象は反復対象を指す     対象を基本URLでURL展開して対象に代入。 # ------ 絶対パスに変換する   Fは(対象からURLファイル名抽出したもの)の拡張子抽出して大文字変換したもの   もし、(F<>「.HTM」) AND (F<>「.HTML」) AND (F<>「.PHP」) AND (F<>「」)ならば続ける。   トップカウンタ=トップカウンタ+1   トップ掲載リンク一覧M【トップカウンタ】=対象 トップカウンタMAX=トップカウンタ    # ----- トップリンクのデータ数 #(*) -- トップ掲載リンク一覧M【NO】の中に目標サイトへのリンクがあるか見ていく カウンタで1からトップカウンタMAXまで繰り返す   もし、トップ掲載リンク一覧M【カウンタ】=目標サイトならば     実相互リンク設置先=登録URL     データ集計マトリクス【7,カウンタ1】=登録URL     #発リンク数=トップカウンタMAX     もし、相互リンク設置先=実相互リンク設置先ならば       データ集計マトリクス【調査回数,カウンタ1】=1     違えば       データ集計マトリクス【調査回数,カウンタ1】=2     「ワン調査完了」へ飛ぶ。 #(5)トップ掲載リンク一覧M【NO】を順番に見ていく カウンタ2=0              # --- カウンタ2初期化 カウンタで1からトップカウンタMAXまで繰り返す # - 確認済次層URLM【NO】初期化   確認済次層URLM【カウンタ】=「」 #(*) -- 「相互リンク設置先」の文字列の中に「seoplink」が有る場合、最初に実施する seoplink=0 カウンタで1からトップカウンタMAXまで繰り返す   トップ掲載リンク一覧M【カウンタ】で1から「seoplink」を文字検索   もし、それ>0ならば     次層URLにトップ掲載リンク一覧M【カウンタ】を代入。     次層URLのURLドメイン名抽出して次層URLドメインに代入     もし、次層URLドメイン=登録URLドメインならば       seoplink=1       カウンタ2=カウンタ       「seoplink有り」へ飛ぶ。 ▲次層掲載リンク処理ループ# --- トップ掲載リンク一覧処理ループの開始点 # -- 中継URLかもしれない1個の次層ページについて、リンク一覧作成 カウンタ2=カウンタ2+1 もし、カウンタ2>トップカウンタMAXならば   「次層掲載リンク処理ループ終了」へ飛ぶ。 ▲seoplink有り# --- 「seoplink」がある時は、ここから始める #(1) --- トップ掲載リンク一覧M【カウンタ2】からリンクを読み出す 次層URLにトップ掲載リンク一覧M【カウンタ2】を代入。 #(2) --- 次層URLのドメインは登録URLドメインと同じでなければならない 次層URLのURLドメイン名抽出して次層URLドメインに代入 もし、次層URLドメイン<>登録URLドメインならば   「次層掲載リンク処理ループ」へ飛ぶ。 #(*) --- 次層URLは登録URLと等しくない もし、次層URL=登録URLならば、「次層掲載リンク処理ループ」へ飛ぶ。 #(3) --- 次層URLとして前回と同じURLが来た場合は処理を省略する カウンタで1からトップカウンタMAXまで繰り返す   もし、次層URL=確認済次層URLM【カウンタ】ならば     「次層掲載リンク処理ループ」へ飛ぶ。 #(4) --- 次層URLを確認済次層URLM【カウンタ2】に記録する 確認済次層URLM【カウンタ2】=次層URL #(5) --- 次層URLを存在確認する 次層URLを調査URLに代入。 URL読取確認。 # ---------------- 調査URLを携えて、●SubRoutineへ飛ぶ          # ---------------- HTTPデータ取得して本体に代入して戻る もし、それがはいならば、「次層掲載リンク処理ループ」へ飛ぶ。 #(6) --- 次層URLに掲載されているリンク一覧を次層掲載リンク一覧M【次層カウンタ】に代入 基本URLは調査URLからURL基本パス抽出したもの 次層カウンタ=0 本体からHTMLリンク抽出して反復   「:」まで切り取って小文字変換してプロトコルに代入。   プロトコルで条件分岐   「mailto」ならば続ける。     「javascript」ならば続ける。   もし、RIGHT(対象,1)=「/」ならば     母艦は対象。     対象を基本URLでURL展開して対象に代入。       もし、RIGHT(対象,1)<>「/」ならば、対象に「/」を追加する。   違えば     母艦は対象。              # ------ 対象は反復対象を指す     対象を基本URLでURL展開して対象に代入。 # ------ 絶対パスに変換する   Fは(対象からURLファイル名抽出したもの)の拡張子抽出して大文字変換したもの   もし、(F<>「.HTM」) AND (F<>「.HTML」) AND (F<>「.PHP」) AND (F<>「」)ならば続ける。     次層カウンタ=次層カウンタ+1   次層掲載リンク一覧M【次層カウンタ】=対象 次層カウンタMAX=次層カウンタ      # ----- 次層掲載リンクのデータ数 #(*) -- 次層掲載リンク一覧M【NO】の中に目標サイトへのリンクがあるか見ていく カウンタで1から次層カウンタMAXまで繰り返す   もし、次層掲載リンク一覧M【カウンタ】=目標サイトならば     実相互リンク設置先=次層URL     データ集計マトリクス【7,カウンタ1】=次層URL     #発リンク数=次層カウンタMAX     もし、相互リンク設置先=実相互リンク設置先ならば       データ集計マトリクス【調査回数,カウンタ1】=1     違えば       データ集計マトリクス【調査回数,カウンタ1】=2     「ワン調査完了」へ飛ぶ。 #(7) --次層掲載リンク一覧M【NO】の中に目標サイトへのリンクがあるか順番に見ていく カウンタ3=0            # --- カウンタ3初期化 カウンタで1から次層カウンタMAXまで繰り返す# --- 確認済第3層URLM【NO】初期化   確認済第3層URLM【カウンタ】=「」 ▲第3層掲載リンク処理ループ# --- 次層掲載リンク一覧処理ループの開始点 カウンタ3=カウンタ3+1 もし、カウンタ3>次層カウンタMAXならば   「第3層掲載リンク処理ループ終了」へ飛ぶ。 #(*) --- 経過時間の確認 現在時刻sub # ------------ 被リンク先調査開始時間を現在時刻に代入して戻る 経過時間=現在時刻−開始時刻   もし、経過時間<経過時間MAXならば     「経過時間確認終了」へ飛ぶ。   違えば     データ集計マトリクス【調査回数,カウンタ1】=5     「ワン調査完了」へ飛ぶ。    ▲経過時間確認終了 #(1) --- 次層掲載リンク一覧M【カウンタ3】からリンクを1つ読み出す 第3層URLに次層掲載リンク一覧M【カウンタ3】を代入。 #(2) --- 第3層URLのドメインは登録URLドメインと同じでなければならない 第3層URLのURLドメイン名抽出して第3層URLドメインに代入 もし、第3層URLドメイン<>登録URLドメインならば   「第3層掲載リンク処理ループ」へ飛ぶ。 #(*) --- 第3層URLは登録URLと等しくない もし、第3層URL=登録URLならば、「第3層掲載リンク処理ループ」へ飛ぶ。 #(3) --- 第3層URLとして前回と同じURLが来た場合は処理を省略する カウンタで1から次層カウンタMAXまで繰り返す   もし、第3層URL=確認済第3層URLM【カウンタ】ならば     「第3層掲載リンク処理ループ」へ飛ぶ。 #(4) --- 第3層URLを確認済第3層URLM【カウンタ3】に記録する 確認済第3層URLM【カウンタ3】=第3層URL #(5) --- 第3層URLを存在確認する 第3層URLを調査URLに代入。 URL読取確認。 # ---------------- 調査URLを携えて、●SubRoutineへ飛ぶ          # ---------------- HTTPデータ取得して本体に代入して戻る もし、それがはいならば、「第3層掲載リンク処理ループ」へ飛ぶ。 #(6) - 第3層URLに掲載されているリンク一覧を第3層掲載リンク一覧M【第3層カウンタ】に代入 基本URLは調査URLからURL基本パス抽出したもの 第3層カウンタ=0 本体からHTMLリンク抽出して反復   「:」まで切り取って小文字変換してプロトコルに代入。   プロトコルで条件分岐   「mailto」ならば続ける。     「javascript」ならば続ける。   もし、RIGHT(対象,1)=「/」ならば     母艦は対象。     対象を基本URLでURL展開して対象に代入。       もし、RIGHT(対象,1)<>「/」ならば、対象に「/」を追加する。   違えば     母艦は対象。              # ------ 対象は反復対象を指す     対象を基本URLでURL展開して対象に代入。 # ------ 絶対パスに変換する   Fは(対象からURLファイル名抽出したもの)の拡張子抽出して大文字変換したもの   もし、(F<>「.HTM」) AND (F<>「.HTML」) AND (F<>「.PHP」) AND (F<>「」)ならば続ける。     第3層カウンタ=第3層カウンタ+1   第3層掲載リンク一覧M【第3層カウンタ】=対象 第3層カウンタMAX=第3層カウンタ    # ----- 次層掲載リンクのデータ数 #(7) --第3層掲載リンク一覧M【NO】の中に目標サイトへのリンクがあるか順番に見ていく カウンタで1から第3層カウンタMAXまで繰り返す   もし、第3層掲載リンク一覧M【カウンタ】=目標サイトならば     実相互リンク設置先=第3層URL     データ集計マトリクス【7,カウンタ1】=第3層URL     #発リンク数=第3層カウンタMAX     もし、相互リンク設置先=実相互リンク設置先ならば       データ集計マトリクス【調査回数,カウンタ1】=1     違えば       データ集計マトリクス【調査回数,カウンタ1】=2     「ワン調査完了」へ飛ぶ。 #(*) --第3層掲載リンク一覧M【NO】の中に相互リンク設置先があるか順番に見ていく カウンタで1から第3層カウンタMAXまで繰り返す   もし、第3層掲載リンク一覧M【カウンタ】=相互リンク設置先ならば     「自動Paging処理ループ」へ飛ぶ。 ▲自動Paging処理ループ戻り #自動Paging処理ループからの戻り点 「第3層掲載リンク処理ループ」へ飛ぶ。 ▲第3層掲載リンク処理ループ終了# --- 次層掲載リンク一覧処理ループの終了点 もし、seoplink=1ならば   seoplink=0   カウンタ2=0 「次層掲載リンク処理ループ」へ飛ぶ。 ▲次層掲載リンク処理ループ終了# --- トップ掲載リンク一覧処理ループの終了点 データ集計マトリクス【調査回数,カウンタ1】=3 #1個の相互リンク設置先への内部リンクおよび目標サイトへのリンク調査を完了した ▲ワン調査完了 もし、データ集計マトリクス【調査回数,カウンタ1】<3ならば、   データ集計マトリクス【5,カウンタ1】=データ集計マトリクス【調査回数,カウンタ1】   結果保存2 # ------------ 1・2のとき●SubRoutineでTXTへデータを書き込む 違えば   もし、データ集計マトリクス【調査回数,カウンタ1】が3ならば     結果保存3 # ----------- 3のとき●SubRoutineでTXTへデータを書き込む   違えば     結果保存4 # -------- 4・5のとき●SubRoutineでTXTへデータを書き込む 「Top掲載リンク処理ループ」へ飛ぶ。 ▲全調査完了 # 結果を表示   「{改行}Programを 終わりました,」を「D:\hilinkcheck\リスト.txt」に追加保存。 #「全Programを 終わりました。」を言う。 #終わる。 WINDOWS終了 終わる。 ▲調査完了後起動 # 結果を表示   「{改行}Programを 終わりました,」を「D:\hilinkcheck\リスト.txt」に追加保存。 「Programは 終わっています。」を言う。 終わる。 # Sub Routines #----------------------------------------------------------------------- # URL読取確認関数 #【説 明】URLが存在するか確認する #【引 数】調査URL : 調べたいURL #【戻り値】URL存在 しない=1 / 存在する=0 ・ 本体 :HTTPデータ ●URL読取確認 #(調査URL)   エラー監視     もし、登録URL調査中=1ならば   # (1) サーバーに接続できるか確認し、できなければリンク切れ。     # (2) サーバーが返したヘッダを確認し『200 OK』がなければリンク切れ。       調査URLからHTTPヘッダ取得してヘッダに代入。       もし((ヘッダ\0で「200」が何文字目)=0)ならば、エラー発生。   # 対象が HTML ファイルなら本体をダウンロードする Fは(調査URLからURLファイル名抽出したもの)の拡張子抽出して大文字変換したもの もし(F=「.HTM」)OR(F=「.HTML」)OR(F=「.PHP」)OR(F=「」)ならば       調査URLからHTTPデータ取得して本体に代入。       0.3秒待つ。 本体は本体をSJIS変換したもの ここまで,もし。 それは、0   エラーならば それは、1     # URL存在しない場合(はいを返す)   #「URL読取確認結果」 戻る #----------------------------------------------------------------------- # 相互リンク設置先がseoplinkなどのとき # seoplinkの自動ページングに対応して、検索対象を拡張する # 自動ページングページに目標サイトへのリンクが存在するか確認する # ▲自動Paging処理ループ# --- seoplink等の自動ページングに対応処理ループの開始点 カウンタ4=0            # --- カウンタ4初期化 ページングページ=「」 ページングページリンク数=0 リンク基本URLは相互リンク設置先からURL基本パス抽出したもの ▲処理ループ4 カウンタ4=カウンタ4+1 もし、カウンタ4>カウンタ4MAXならば   「自動Paging処理ループ戻り」へ飛ぶ。 #自動ページングPageにもリンクがない #(1) --- 自動ページングページを1枚づつめくる 基本URLは調査URLからURL基本パス抽出したもの テスト配列【0】=リンク基本URL テスト配列【1】=カウンタ4 テスト配列【2】=「.html」 テスト配列を「」で配列結合してSEOURLに代入。 #(2) --- SEOURLを存在確認する SEOURLを調査URLに代入。 URL読取確認。# ---------------- 調査URLを携えて、●SubRoutineへ飛ぶ         # ---------------- HTTPデータ取得して本体に代入して戻る もし、それがはいならば、「処理ループ4終了」へ飛ぶ。 #(3) -SEOURLに掲載されているリンク一覧をSEOURLリンク一覧に代入 基本URLは調査URLからURL基本パス抽出したもの SEOカウンタ=0 本体からHTMLリンク抽出して反復   「:」まで切り取って小文字変換してプロトコルに代入。   プロトコルで条件分岐     「mailto」ならば続ける。     「javascript」ならば続ける。   もし、RIGHT(対象,1)=「/」ならば     母艦は対象。     対象を基本URLでURL展開して対象に代入。       もし、RIGHT(対象,1)<>「/」ならば、対象に「/」を追加する。   違えば     母艦は対象。             # ------ 対象は反復対象を指す     対象を基本URLでURL展開して対象に代入。# ------ 絶対パスに変換する   Fは(対象からURLファイル名抽出したもの)の拡張子抽出して大文字変換したもの   もし、(F<>「.HTM」) AND (F<>「.HTML」) AND (F<>「.PHP」) AND (F<>「」)ならば続ける。    SEOカウンタ=SEOカウンタ+1   SEOページ掲載リンク一覧M【SEOカウンタ】=対象 SEOカウンタMAX=SEOカウンタ # ----- リンクのデータ数 #(4) -- SEOページ掲載リンク一覧M【NO】の中に目標サイトへのリンクがあるか順番に見ていく カウンタで1からSEOカウンタMAXまで繰り返す   もし、SEOページ掲載リンク一覧M【カウンタ】=目標サイトならば     ページングページ=SEOURL     ページングページリンク数=SEOカウンタMAX     「処理ループ4終了」へ飛ぶ。 「処理ループ4」へ飛ぶ。 ▲処理ループ4終了 #自動ページングページに目標サイトへのリンクがあったとき もし、ページングページ<>「」ならば   実相互リンク設置先=ページングページ   データ集計マトリクス【7,カウンタ1】=ページングページ   #発リンク数=ページングページリンク数   もし、相互リンク設置先<>実相互リンク設置先ならば     データ集計マトリクス【調査回数,カウンタ1】=2   違えば     データ集計マトリクス【調査回数,カウンタ1】=1   ここまで、もし。   「ワン調査完了」へ飛ぶ。 「自動Paging処理ループ戻り」へ飛ぶ。 #----------------------------------------------------------------------- #現在時刻  現在時刻を秒で返す ●現在時刻sub   # 時、分、秒に分ける   今を「:」で区切る。   時はそれ[0]   分はそれ[1]   秒はそれ[2]   現在時刻=3600×時+60×分+秒   #「{時}:{分}:{秒}」を表示。 戻る #----------------------------------------------------------------------- #結果保存1  データの項目を書き込む ●結果保存1   「{改行}調査開始(再開),」を「D:\hilinkcheck\リスト.txt」に追加保存。 戻る #----------------------------------------------------------------------- #結果保存2  データを書き込む 1・2:リンクリンクが掲載されている ●結果保存2   「{改行}{調査回数},{データ集計マトリクス【0,カウンタ1】},{データ集計マトリクス【6,カウンタ1】},{データ集計マトリクス【7,カウンタ1】},{データ集計マトリクス【調査回数,カウンタ1】},{データ集計マトリクス【5,カウンタ1】},」を「D:\hilinkcheck\リスト.txt」に追加保存。 戻る #----------------------------------------------------------------------- #結果保存3  データを書き込む 3:リンクされてない ●結果保存3   「{改行}{調査回数},{データ集計マトリクス【0,カウンタ1】},{データ集計マトリクス【6,カウンタ1】},{データ集計マトリクス【7,カウンタ1】},{データ集計マトリクス【調査回数,カウンタ1】},{データ集計マトリクス【5,カウンタ1】},」を「D:\hilinkcheck\リスト.txt」に追加保存。 戻る #----------------------------------------------------------------------- #結果保存4  データを書き込む 4:登録サイトアクセス不良 ●結果保存4   「{改行}{調査回数},{データ集計マトリクス【0,カウンタ1】},{データ集計マトリクス【6,カウンタ1】},{データ集計マトリクス【7,カウンタ1】},{データ集計マトリクス【調査回数,カウンタ1】},{データ集計マトリクス【5,カウンタ1】},」を「D:\hilinkcheck\リスト.txt」に追加保存。 戻る