【发布时间】:2017-06-30 07:56:24
【问题描述】:
我正在尝试使用 PHP cURL 下载以下 URL https://www.astegiudiziarie.it/vendita-asta-appartamento-genova-via-san-giovanni-d’acri-14-1360824:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.astegiudiziarie.it/vendita-asta-appartamento-genova-via-san-giovanni-d’acri-14-1360824');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$f = curl_exec($ch);
curl_close($ch);
echo $f;
但是服务器总是返回一个错误页面。在 Web 浏览器中导航相同的 URL 可以正常工作。手动将curl_exec 返回的 HTML 源代码与 Web 浏览器中的 HTML 源代码进行比较,差异立即显而易见。
我尝试utf8_decode() URL 没有成功。
我不能简单地包装网址
在urlencode() 中,因为它甚至可以对普通字符进行编码,例如: 和/。
这些 URL 是通过编程方式检索(抓取)的,并且并不总是具有相同的结构,因此很难将它们拆分并仅对某些部分进行 urlencode。
顺便说一句,现代网络浏览器似乎很好地处理了这种情况。 PHP中有解决方案吗?
【问题讨论】:
标签: php curl unicode web-scraping