我正在使用https://github.com/FriendsOfPHP/Goutte来解析和提取数据,我做得很好......
但是现在我偶然发现了一个有点不友好的地方:
<tr>
<th>Website:</th>
<td>
<a href="http://www.adres.com" target="_blank">http://www.adres.com</a>
</td>
</tr>
在这种情况下,我正在尝试从td
紧跟在th
包含特定字符串的元素之后的元素中获取文本。Website:
我的 php 看起来像这样:
$client3 = new \Goutte\Client();
$crawler3 = $client3->request('GET', $supplierurl . 'contactinfo.html');
if($crawler3->filter('th:contains("+Website+") + td a')->count() > 0) {
$parsed_company_website_url = $crawler3->filter('th:contains("Website:") + td')->text();
} else {
$parsed_company_website_url = null;
}
return $parsed_company_website_url;
问题
我的代码不起作用。
我的尝试- 我尝试同时使用
"+Website+"
和"Website:"
- 我试图通过计算表的行数来进行一些智能定位,但是目标站点上的每个数据库条目以不同的方式排列项目,没有可靠的模式。
去做
使脚本从