我正在从一些网站上抓取数据,所以在回复HTML代码中我想获取facebook页面链接和Twitter帐户链接(如果有的话)。 获取一个html代码的示例如下: 注意:我正在使用CURL模块获取数据。
<a href="https://www.facebook.com/Example-page-16149277784545354/" target="_blank">
<div class="template asset" data-id="4722053" contenteditable="false">
<figure>
........
</figure>
</div>
</a>
我需要'href'属性中的facebook页面链接,以及Twitter帐户链接的相同内容。
答案 0 :(得分:0)
我还没有测试过这段代码。但这是一个粗略的解决方法,这个循环可能是无限的。如果错误,请测试并更正。
<?php
$str = file_get_contents($url);
$i = -1;
while(strpos("href='",$i)>=0){
$strpos = strpos("href='",$i);
$i2 = strpos("'",$i+7);
$link = substr($str,$strpos,$i2);
$i = $i2 + 1;
//now check if the link is facebook, twitter etc.
}
//do the same with while(strpos("href=\"",$i)>=0){
答案 1 :(得分:0)
你可以用正则表达式来检查它,这是一个facebook检查的例子:
$testString = '<a href="https://www.facebook.com/Example-page-16149277784545354/" target="_blank">
<div class="template asset" data-id="4722053" contenteditable="false">
<figure>
........
</figure>
</div>
</a>';
$facebookPattern = '/"(http[s]{0,1}:\/\/www\.facebook\.com[^"]+)"/';
preg_match_all($facebookPattern, $testString, $matches);
print_r($matches[1]);
答案 2 :(得分:0)
您可以使用简单的html dom,它提供了面向对象的界面。 你可以只提供获取和解析html到一个对象的函数的url。您可以调用该对象上的属性和方法来访问dom的元素。