Web取得プログラム?ウェブクローラー? Xiaolunプログラム?あなたがそれを何と呼んでも、この種のプログラムは非常に広く使用されています。この記事では、このプログラムの使用によって引き起こされた著作権や道徳的問題については議論していませんが、ASP+VBScript環境でのこのプログラムの実装のみを議論します:-)
準備知識:一般的なASP+VBScriptの知識に加えて、XMLHTTPオブジェクトと正規表現オブジェクトも理解する必要があります。 XMLHTTPオブジェクトは、現在脚光を浴びているAjaxの主人公です。そして、正規表現を学んだ後、複雑な文字列に対処することを心配する必要はもうありません。
正規表現を書いてデバッグするときに、正規表現の場合は非常に便利です。
目次
リモートのWebページをクロールし、ローカルに保存します
改善:文字化けコードを処理します
リモートWebページの写真(およびその他のファイル)を同時にダウンロードする
改善:実際のURLの検出
改善:繰り返しダウンロードを避けてください
実用的な例(例として****を取る)
分析リストページ
コンテンツページのヒント
コンテンツページの次のページの前のページを分析する
高度なトピック:UTF-8およびGB2312変換
より高度なトピック:ログイン後のクロール、クライアントの偽造
あなたが持っているコレクション手順
オリジナルリンク:http://gwx.showus.net/blog/article.asp?id=229
1.リモートのWebページをクロールしてローカルに保存します
「デバッグのために、中間結果は数回後でチェックされます
dimindebug:indebug = true
subd(str)
ifindebug = falsethenexitsub
respons.write( "<divstyle = 'color:#003399; border:solid1px#003399; background:#eef7ff;マージン:1px; font-size:12px; padding:4px;'>"))
respons.write(str& "</div>")
Response.flush()
Endingub
'プロセス:Save2File
'関数:ファイルとしてテキストまたはバイトストリームを保存します
'パラメーター:コンテンツを保存するためのscontent
'sfileは「files/abc.htm」などのファイルに保存されます
'はテキストかどうかです
'既存のファイルを上書きすることはあります
subsave2file(scontent、sfile、btext、boverwrite)
calld( "save2file:"+sfile+"*text:"&btext))
dimsaveoption、typeoption
if(boverwrite = true)thensaveoption = 2 elsesaveoption = 1
if(btext = true)thentypeoption = 2elsetypeoption = 1
setads = server.createObject( "adodb.stream")
withs
.type = typeoption
。開ける
if(btext = true)then.writeTextscontentelse.writescontent