这是我希望获得最佳指导的第一个问题。
我试图使用file_get_contents()
抓取网页内容。
在很多场合它运作良好,但有一件事让我发疯。
我将长链接分成三个部分,并将其与下面的代码一起重新组合。该链接是一个分页链接和" 3"负责指明页面,所以在这个特定的链接中我想看第3页。
$combinedlink = $firstpart."3".$secondpart."3".$thirdpart."1445256372";
$input = file_get_contents($combinedlink);
当我现在回显$ input时,它向我显示第1页而不是3.当我回显$ combinedlink并按照它时,它将我带到正确的页面。现在令人震惊的部分:当我复制echo $ combinedlink的输出时;并插入如下:
$input = file_get_contents("http://www.ReallyLongLink.de/EvenMoreStuff");
它正常工作并将我带到第3页。但该变量包含完全正确的内容,但它仅在我对链接进行硬编码时才起作用。 Var_dump
还会显示String(178),然后显示引号中的字符串。
答案 0 :(得分:0)
您尝试抓取的网站可能正在使用除网址之外的其他一些分页方式,例如Cookie /会话。这可以解释为什么链接在您的浏览器中有效但在脚本中无效。
要跟踪网站发送的Cookie,您可能需要尝试使用库(例如Guzzle)来获取网页。
<强>已更新强>
$input = file_get_contents(html_entity_decode($combinedlink));