【发布时间】:2018-10-05 11:56:55
【问题描述】:
我在 php 中编写了一个脚本来抓取 电话号码 和 电子邮件地址来自网页。当我执行以下脚本时,我得到了 电话号码,但如果是 电子邮件地址,我会得到这个电子邮件。
我所关注的两个字段位于该网页的标题下方Sterling Systems & Control Inc.。
到目前为止我的尝试:
<?php
include "simple_html_dom.php";
function curlGet($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$results = curl_exec($ch);
curl_close($ch);
$dom = new simple_html_dom();
$dom->load($results);
return $dom;
}
$data = curlGet('https://us.kompass.com/a/grinding-machinery-and-equipment-for-the-food-industry/49030/');
foreach($data->find("div.list-buttons-container") as $item){
$phone = $item->find("#freePhone--US947504",0)->value;
$email = $item->find("[class='coordonneesItemLink'] .coordinate-item-text",1)->innertext;
echo "{$phone} {$email}<br>";
}
?>
我此时的输出(而不是电子邮件地址,我只得到以下文本):
+1 8156250852 Email
【问题讨论】:
-
电话号码包含在 HTML 代码中……而电子邮件地址似乎没有,该按钮仅打开一个联系表单。
标签: php curl web-scraping css-selectors simple-html-dom