如果我理解正确,您从某处获取 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 常见问题解答)。您需要手动过滤它们。
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)