突然、オンライン データを取得して遊んでみたいと思いました。SAE の MySql データベースがあるのですが、そこに残しておくのは役に立ちません。そこで、PHP を使って、恥ずかしいもの百科事典のホームページにある恥ずかしいものをクロールする小さなプログラムを書き始めました。データはすべて MySql に保存されていました。
とにかくやってみよう!まずはアイデアを決めます
HTML ソース コードを取得 ---> HTML を解析 ---> データベースに保存
難しいことは何もありません
1. PHPファイル「getDataToDB.php」を作成します。
2. 指定したURLのHTMLソースコードを取得しますここではcurl関数を使用しています。詳細についてはPHPマニュアルを参照してください
コードは
です
リーリー 3. HTML を解析するためのサードパーティ ファイル「simple_html_dom.php」を導入します。
ここで正規表現を使用する能力がないので、オンラインで検索し、最終的にこれを見つけました。JavaでJsoupを使用するのと同じです(Jsoupを使用してChuzhou Universityの公式Webサイトを解析し、ニュースリストを取得します)。詳細については、ブログを参照してください。詳細
コードは次のとおりです
リーリー このコードは書くのが少しわかりにくいですが、子ノードのデータを直接取得することはできませんでした。新しい書き方があれば、外側のレイヤーを剥がしてレイヤーごとに解析することしかできませんでした。ぜひご覧ください。
4. データベースを作成し、データベースにデータを挿入します
ここでは SAE で MySQL を使用しています。具体的な接続方法については、「PHP を使用して SAE で MySql データベースに接続する」を参照してください。
注意する必要があるのはエンコード形式です。この文を実行文の前に追加する必要があります。
リーリー コアコードは次のとおりです。
リーリー
このようにして、Get--->Parse--->Insert が完了し、PHP ファイルを 1 回実行するだけで、恥ずかしいもの百科のホームページにある恥ずかしいものがデータベースに追加されます。一定の間隔でコードを実行するタイマーを作成できるかどうかは疑問ですが、Java では実行できますが、PHP では実行できません。結局のところ、私は毛のない鳥なのです。百度。 。 。こんな書き方を見つけました
リーリー 学校が切断される直前に、このコードをファイルに追加して SAE に公開します。テストはしていません。結果を確認するには翌日まで待つしかありません。
今朝、待ちきれずにコンピューターの電源を入れ、SAE データベースを開きました。状況は次のとおりです。
なんと!もう我慢できなくなったので、すぐにタイマーをオフにして、イベントをトリガーするボタンを書きました。このままではデータベースが混雑してしまいます。
www.bkjia.com