php - PHP - 获取谷歌显示的价格
问题描述
我想在 PHP 文件中从 Google 搜索中恢复所有价格。
file_get_contents 不起作用,我必须像在本主题中那样使用 CURL:
现在我不知道如何创建下一个脚本。
我想我必须创建一个循环并使用函数 preg_match 来只保留我需要的东西。
这是正确的 ?我可以举个例子吗?
这是我的脚本的开头:
$url = "https://www.google.com/search?ei=QBN1XIfYDrG5gwfmq6bwDg&q=860+evo+500go&oq=860+evo+500go&gs_l=psy-ab.3..0j0i10j0i22i10i30j0i22i30l3.5044.6363..6572...0.0..0.59.347.6......0....1..gws-wiz.......0i71j0i20i263j0i67j0i203.HYjd3deC288";
function curl_get_file_contents($URL) {
$c = curl_init();
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($c, CURLOPT_URL, $URL);
$contents = curl_exec($c);
curl_close($c);
if ($contents) return $contents;
else return FALSE;
foreach ($variable as $key => $value) {
echo $result;
}
}
解决方案
这将无法可靠地工作。谷歌搜索对抓取非常敏感,并在怀疑自动访问时迅速开始响应验证验证码的请求。
我建议您寻找更好的信息来源来获取所需的信息,否则您只会冒着编写无法运行的代码的风险,因为您无法始终如一地获取数据。
推荐阅读
- flutter - Flutter中调用方法的不同方式
- python - 字符串是否有英文字符——Python中的一段代码
- javascript - 按下确定按钮后表单重置
- c++ - Codelite 构建仅显示最后一行输出
- ios - 在TestFlight中React Native Expo App缺少状态栏
- javascript - 是否可以使用 Bootstrap 拥有适合浏览器窗口(无滚动、无裁剪)的全屏模式图像?
- react-native - 反应本机android网络请求失败,但在ios和邮递员上工作
- node.js - 我如何在节点 js 中创建一个服务,该服务将在不同的特定时间为不同的用户执行存储在数据库中的任务
- python - -bash:来源:需要文件名参数
- c# - 如何使用 Newtonsoft.Json.Cbor 将对象序列化为 CBOR