ホームページ > バックエンド開発 > PHPチュートリアル > Sohu Video のすべてのユーザーのアルバム名をキャプチャします

Sohu Video のすべてのユーザーのアルバム名をキャプチャします

WBOY
リリース: 2016-07-25 08:47:03
オリジナル
1089 人が閲覧しました
Sohu Video 内のすべてのユーザーのアルバム名をキャプチャします。すべてのレコードを取得すると、関連するキーワードを含むビデオアルバムを簡単に検索できます。しかし、ユーザーが多すぎるため、1 つのスレッドが何年間実行されるかわかりません。複数のテーブルと ID セグメントを設定することで、複数のチャネルの同時キャプチャを実現できます。

$user_id の開始と終了を変更することで、複数のチャンネルを同時にセグメント化できます。

sleep(1) は個人的なテストのみを目的としており、変更可能です
    header("Content-Type:text/html; Charset=UTF-8");
  1. set_time_limit(0);
  2. $col_title = '' //タイトル
  3. $col_url = '; '; //URL番号
  4. $user_id = 26; //ユーザー番号の取得を開始
  5. //MySQLの事前操作
  6. $mysqli = new mysqli("p:localhost", 'root', '', 'sohutv' ) ;
  7. if ($mysqli->connect_errno) {
  8. printf("接続失敗: %sn", $mysqli->connect_error);
  9. exit();
  10. }
  11. $mysqli->set_charset("utf8" ) ;
  12. $sql = "アルバム (ユーザー ID,タイトル,URL) VALUES(?,?,?) に挿入";
  13. $stmt = $mysqli->prepare($sql);
  14. $stmt->bind_param( " sss",$user_id ,$col_title ,$col_url);
  15. //ループキャプチャ
  16. while (true) {
  17. $url = "http://my.tv.sohu.com/user/a/ playlist/ ta/list.do?userId=".$user_id;
  18. $temp_html = file_get_contents($url);
  19. $temp_json = json_decode($temp_html);
  20. $column_no = $temp_json->{'data'}- > {'count'};
  21. if ($column_no) {
  22. //var_dump($temp_json->gt;{'data'});
  23. $temp_array = $temp_json->{'data'}-> {' list'};
  24. for($i=0; $i {
  25. $temp_obj = $temp_array[$i];
  26. //var_dump($temp_obj);
  27. $col_title = $temp_obj ->{'title'};
  28. $col_url = substr($temp_obj->{'url'}, 25, -6);
  29. $stmt->execute();
  30. }
  31. }
  32. // 1秒スリープ
  33. sleep(1);
  34. $user_id++;
  35. }
  36. /*
  37. アクセス方法
  38. http://my.tv.sohu.com/pl/URL番号.shtml
  39. */
  40. ?> ;
コードをコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート