作者poeta (键盘诗人)
看板PHP
标题[请益] file函数来读网页的问题
时间Sun May 13 11:50:59 2018
写了一个小程式读网页的原始码并分析时,遇到一个问题,
就是用浏览器开某网址,是正常的。
但用php程式去读那个网址,程式读出来的网页,和我看的不同。
例如:
https://goo.gl/T6BcEx
(我在程式是没缩网址的 只是在ptt网址超过一行才缩)
我想要读出这本书的「责任者」、「版本」。
但是用file()函数去读网址,却读不到这些东西,该显示的地方,变成
元数据展现,元数据展现 暂时无法取用。
可能是网址里的函数没有读进去吧!该怎麽解决?
01 $http="
https://goo.gl/T6BcEx";
02 $buffer = file($http);
03 for($i=0;$i<sizeof($buffer);$i++)
04 echo $buffer[$i]."<BR>";
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.232.154.236
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PHP/M.1526183461.A.EE0.html
1F:推 dalconan: 改用curl的方式试试看 05/13 16:19
2F:推 l3161316: 就是有做反爬虫 你先用postman测到跟网页一样正常显示吧 05/13 22:47
3F:→ poeta: 我也有用curl试过,也是一样。 05/13 23:23
4F:→ poeta: 不过现在问题解决了,我看到很多人爬网页都有加这一行: 05/13 23:23
5F:→ poeta: curl_setopt($ch, CURLOPT_USERAGENT, "Google Bot"); 05/13 23:24
6F:→ poeta: 我加上去,网页就爬到了....好神奇 05/13 23:24
7F:推 my1938: 应该是对方的网站有检查user agent,像我的伺服器只要requ 05/14 12:13
8F:→ my1938: est档头没有user agent就会挡 05/14 12:13