読者です 読者をやめる 読者になる 読者になる

PHPだとこんな感じ?某一覧抽出

id:yutakikuchi氏のPythonのサンプルコードをPHPで実装するとこんな感じ?

アダルトフィルタ実装に向けたA○女優リストの自動抽出 + α - Yuta.Kikuchiの日記

<?php
$base_url = 'http://ja.wikipedia.org';

$url_list = [
    '/wiki/AV%E5%A5%B3%E5%84%AA%E4%B8%80%E8%A6%A7_%E3%81%82%E8%A1%8C',
    '/wiki/AV%E5%A5%B3%E5%84%AA%E4%B8%80%E8%A6%A7_%E3%81%8B%E8%A1%8C',
    '/wiki/AV%E5%A5%B3%E5%84%AA%E4%B8%80%E8%A6%A7_%E3%81%95%E8%A1%8C',
    '/wiki/AV%E5%A5%B3%E5%84%AA%E4%B8%80%E8%A6%A7_%E3%81%9F%E8%A1%8C',
    '/wiki/AV%E5%A5%B3%E5%84%AA%E4%B8%80%E8%A6%A7_%E3%81%AA%E8%A1%8C',
    '/wiki/AV%E5%A5%B3%E5%84%AA%E4%B8%80%E8%A6%A7_%E3%81%AF%E8%A1%8C',
    '/wiki/AV%E5%A5%B3%E5%84%AA%E4%B8%80%E8%A6%A7_%E3%81%BE%E8%A1%8C',
    '/wiki/AV%E5%A5%B3%E5%84%AA%E4%B8%80%E8%A6%A7_%E3%82%84%E8%A1%8C',
    '/wiki/AV%E5%A5%B3%E5%84%AA%E4%B8%80%E8%A6%A7_%E3%82%89%E3%83%BB%E3%82%8F%E8%A1%8C'
];

foreach ($url_list as $url) {
    preg_match_all('|<li><a href="(?P<url>.*?)".*?>(?P<name>.*?)</a>.*?((?P<initial>.).*?</li>|u', file_get_contents($base_url.$url), $match, PREG_SET_ORDER);
    foreach ($match as $m) {

        if (preg_match('|\A/w/|', $m['url'])) continue;

        $html = preg_replace('/\r|\n/', '', file_get_contents($base_url.$m['url']));

        preg_match('|スリーサイズ</a>:</th><td nowrap="nowrap">(?P<bust>\d+) - (?P<waist>\d+) - (?P<hip>\d+) cm|', $html, $size);
        preg_match('|ブラのサイズ</a>:</th><td>(?P<cup>[a-zA-Z])|', $html, $bra);

        echo sprintf("Name:%s\tBust:%s\tWaist:%s\tHip:%s\tBra:%s",
            $m['name'],
            $size['bust'] ?: '-',
            $size['waist'] ?: '-',
            $size['hip'] ?: '-',
            $bra['cup'] ? strtoupper($bra['cup']) : '-'
        ).PHP_EOL;
        sleep(5);
    }
}

ファイル出力、面倒くさいから書いてないや。
あと、久々にブログ書いた...