メシのタネ

Webプログラミング 備忘録

  • AWS移行でコケ中

    現在このWebサイトが稼働している、このサーバーのMySQLをマスターとし、AWS上のRDSをスレーブとして、データ移行をしようと思ったが、バイナリロギングの取得が上手くいかない。多分の手順VPSのDBでスレーブ用のユーザ作成バイナリロギングを行うスレーブ側RDSにマスターのDUM[...]

    続きを読む
  • AWS ソリューションアーキテクト アソシエイトに合格しました。

    実は、今日までIT無資格でした。ええ歳だし、そろそろなんか資格取っておくかーと考えだしたので、取って嬉しい資格を取ろうと思ってたところ、AWSの資格あったなーと思って、調べてみたら、みんな14日で受かる!とか言ってるので、じゃあというこで、試験日14日後とかにして、試験の予約入れたのが地獄の始まり[...]

    続きを読む
  • DOMをPHPで操作できたらいいよね

    そうだよね。そう思うよね。JavaScriptでやると、画面がガタついたりするもんね。そうならないようにする方法もあるかもしれないけど、僕はできませんので、サーバー側でなんとかできたらええなぁと思って挑戦したけど、できませんでしたよ。PHP標準でHTMLをDOMにできるらしい今、技[...]

    続きを読む
  • 設計書ってなんで書くの?

    設計書をなぜ書くのかから始めてかれこれ3年近くこの禅問答をやっているわけですが、いまだに答えは出ません。ただ、その禅問答をやる中で設計書に対する取り組み方は大きく変わったので、その一部でも書いていきたい。基本設計はとにもかくにも必要だと思う設計書はいらぬ!という話をよく聞くし、自分[...]

    続きを読む
  • 書ききってやる。

    久々に書いてみる。久々に文章を書くということをやってみようと思う。伝える作業を観察したいと思ったからそうしたいと考えた。情緒的な文章は基本的にゴミ箱にぽいしてきましたが、情緒的なのも自分だと思う。「文章をかくという作業は、とりもなおさず自分と自分をとりまく事物との距離を確認すること[...]

    続きを読む

【PHP】オープン2chからタイトルとdatをぶっこ抜く

getageta2
前々から興味があったので、どーやってるのかなーと調べてみました。
案外簡単にできるっぽいので、色々と考え中です。
本当は2chでやってみたかったんですけど、時既に遅しですね。
なので潰れない限りありそうなオープン2chでやってみることにします。

カテゴリを選ぶ

http://open2ch.net/menu/に行って左からカテゴリを選びます。
僕は怖い話とか好きなのでオカルトを選びました。
怖い話とか都市伝説とか知ってる人は教えて下さい

アドレスの端にsubject.txtをつける

http://toro.open2ch.net/occult/subject.txt
ってブラウザのアドレス入力するとこに貼り付けると
スレッドのタイトルとかレスの数とか書いてあると思います。
扱いづらいのでこいつらをナントカするコードを書きます。

とりあえず配列に変換する

多分デリミタじゃないと思うんですけど、
<>って1タイトルごとに書いてあるので
こいつをそれだと思って扱いましょう。

</p>
<p>$url = &quot;http://toro.open2ch.net/occult/subject.txt&quot;;<br />
$getsled = mb_convert_encoding(file_get_contents($url),&quot;utf-8&quot;,&quot;auto&quot;);</p>
<p>$sledres = explode(&quot;&lt;&gt;&quot;,$getsled);</p>
<p>

データの整理

1行ずつデータをそろえて置きたいので
データの整理をします。

1個目のデータがずれてたので、
filetitleのとこはそうなってます。

</p>
<p>foreach($sledres as $key =&gt; $val)<br />
{<br />
    if(preg_match(&quot;/[0-9]{10}.dat/&quot;,$val,$matches))<br />
    {<br />
        $sledkeys[] = array(<br />
                          &quot;filekey&quot; =&gt; $matches,<br />
                          &quot;filetitle&quot; =&gt; substr($sledres[$key+1],0,-14)<br />
                          );<br />
    }<br />
}</p>
<p>

データが出来たので軽く抽出してみる

とりあえず検索できるデータが出来たので
これから今度は特定のワードで検索してみましょう。

</p>
<p>for($i=0; $i&lt;count($sledkeys); $i++)<br />
{<br />
    if(strstr($sledkeys[$i][&quot;filetitle&quot;],&quot;異世界&quot;))<br />
    {<br />
      var_dump($sledkeys[$i]);<br />
    }<br />
}</p>
<p>

この異世界のワードを好きなのに変えたり、配列に入れて
回して探したりしたりできますが・・・

CSVを定期的にDBにぶち込んでDBで検索かけるのが良いと思うます。

コードぜんぶ

<br />
&lt;?php</p>
<p>$url = &quot;http://toro.open2ch.net/occult/subject.txt&quot;;<br />
$getsled = mb_convert_encoding(file_get_contents($url),&quot;utf-8&quot;,&quot;auto&quot;);</p>
<p>$sledres = explode(&quot;&lt;&gt;&quot;,$getsled);</p>
<p>$sledkeys = array();<br />
foreach($sledres as $key =&gt; $val)<br />
{<br />
    if(preg_match(&quot;/[0-9]{10}.dat/&quot;,$val,$matches))<br />
    {<br />
        $sledkeys[] = array(<br />
                          &quot;filekey&quot; =&gt; $matches,<br />
                          &quot;filetitle&quot; =&gt; substr($sledres[$key+1],0,-14)<br />
                          );<br />
    }<br />
}</p>
<p>for($i=0; $i&lt;count($sledkeys); $i++)<br />
{<br />
    if(strstr($sledkeys[$i][&quot;filetitle&quot;],&quot;異世界&quot;))<br />
    {<br />
      var_dump($sledkeys[$i]);<br />
    }<br />
}</p>
<p>

関連記事

  1. PHPサムネイル
  2. 2012.09.19

    【PHP】関数
  3. PHPサムネイル
  4. PHPサムネイル
  5. PHPサムネイル

コメントをお待ちしております