我想从网页中提取元素。
$html = file_get_contents($link);该函数返回完整的html文件,我只想要内部和外部链接将它们保存在数据库中。
$sql = "INSERT INTO prueba (link, title, description) VALUES (?, ?, ?)";
//preparando los datos
$query = $pdo->prepare($sql);
//orden de ejecucion
$result = $query->execute([
$link,
$title_out,
$description
]);在这里,我已经设法提取描述和标题,我设法将它们放在数据库中,但我想提取所有的外部和内部链接。一列中的内部链接,另一列中的外部链接。我已经在数据库中创建了两个列。
发布于 2018-07-01 20:20:25
我建议使用DOM-Parser库,例如:
解析HTML,只对所有锚(a标记)进行“查询”。
例如,尝试使用regexes自己提取它们更容易出错。
发布于 2018-07-01 21:01:25
HTML报废
为此,我建议您使用开放源码库,这些库提供帮助函数导航到DOM。没有这一点,您将不得不维护更多的代码。如果您想要管理删除多个页面,您将不得不在每次更新页面时更新regex查询。
你不会想要^^‘
"古特“库中的一个示例(我希望您在+PHP5.5中)
$links = [];
$crawler->filter('a')->each(function ($node) {
var_dump($node->attr('href'));
$links[] = $node->attr('href');
});$links现在包含页面中的所有链接(属性)
有关节点旅行的更多示例,请参见此链接。
使用数据库逻辑来持久化此数据。
对不起,如果Goutte的代码有错误,我不会经常使用它
https://stackoverflow.com/questions/51126712
复制相似问题