-3

このhtmlページ(パーツコード)をマルチ(a href = "https://twitter.com/$name)で解析する必要があります。すべての$ namesを解析し、ページに印刷する必要があります。これを行うにはどうすればよいですか?

 <td>Apr 01 2011<br><b>527
  </b> 
</td>
<td>
                                            <a href="https://twitter.com/al_rasekhoon" class="twitter-follow-button" data-show count="false" data-lang="" data-width="60px" > al_rasekhoon</a>
</td>                                   
</tr>
   <tr class="rowc"><td colspan="11"></td></tr>
4

3 に答える 3

2

a$names 配列をループして、その配列のすべてのエントリに正しいタグを出力する必要があります。このような:

<?php foreach($names as $name){ ?>
    <a href="https://twitter.com<?php echo $name ?>"><?php echo $name ?></a>
<?php }  ?>
于 2012-09-09T08:32:22.283 に答える
0

私の理解が正しければ、どこかから html ページを取得して、リンクされたすべての Twitter ユーザーを抽出したいですか? HTMLコードを解析するか、少し文字列を分割してこれを行うことができます。このコードはテストされていませんが、アイデアが得られるはずです:

$input = '(the html code)';
$links = explode('<a ', $input); //split input by start of link tags
for ($i = 0; $i < count($links); $i++) {
    //cut off everything after the closing '>'
    $links[$i] = explode('>', $links[$i], 2)[0]
    //skip this link if it doesn't go to twitter.com
    if (strpos($links[$i], 'href="twitter.com/') === False) { continue; }
    //split by the 'href' attribute and keep everything after 'twitter.com'
    $links[$i] = explode('href="twitter.com/', $links[$i], 2)[1]
    //cut off everything after the " ending the href attribute
    $links[$i] = explode('"', $links[$i], 2)[0]
    //now $links[$i] should contain the twitter username
    echo $links[$i]
}

注: ページにメイン ページまたはユーザー以外の twitter へのリンクがある場合は、それらも印刷されます (たとえば、ページが twitter FAQ にリンクしている場合)。それらを手動でフィルタリングする必要があります。

php は最悪です。python でやってみましょう!

input = '(the html code)'
links = [l.split(">", 1)[0] for l in input.split("<a ")}
twitter_links = [l for l in links if 'href="twitter.com/' in l]
twitter_hrefs = [l.split('href="twitter.com/', 1)[1] for l in twitter_links]
users = [l.split('"', 1)[0] for l in twitter_hrefs]
print '\n'.join(users)
于 2012-09-09T10:55:30.903 に答える
0

画面のスクレイピングのように聞こえますが、これには DOM をトラバースする必要があります。REは非常に信頼できません。

DOMDocument が役立つかもしれませんが、BeautifulSoup (または PHP の同等物) などのスクリーン スクレイピング用のライブラリを調べることをお勧めします。

于 2012-09-09T08:47:59.070 に答える