我知道关于PHP页面抓取器的问题已经被问了一次又一次,利用这个问题,我发现了SimpleHTMLDOM。在本地服务器上无缝工作后,我将所有内容都上传到了我的在线服务器上,结果却发现有些东西不能正常工作。快速浏览一下常见问题将我带到this。我目前使用的是免费主机服务,因此请编辑任何php.ini设置。因此,根据常见问题解答的建议,我尝试使用cURL,结果发现这也被我的托管服务关闭了。有没有其他简单的解决方案可以在不使用cURL或SimpleHTMLDOM的情况下抓取另一个网页的内容?
发布于 2010-10-07 18:23:37
如果未启用cURL和allow_url_fopen,可以尝试通过以下方式获取内容
fsockopen - Open Internet或Unix域套接字连接换句话说,您必须手动处理HTTP请求。有关如何执行GET请求,请参阅手册中的示例。然后可以进一步处理返回的内容。如果启用了套接字,您还可以使用任何第三方库来利用它们,例如Zend_Http_Client。
顺便说一句,请查看Best Methods to Parse HTML以获得SimpleHTMLDom的替代方案。
发布于 2010-10-07 18:37:15
cURL是一种特殊的应用编程接口。它不是通常所说的http库,而是一个用于FTP、SFTP、SCP、HTTP PUT、SMTP、TELNET等的通用数据传输库。如果你只想使用HTTP,有一个相应的PEAR library for that。或者检查您的PHP版本是否启用了官方http extension。对于抓取,可以尝试phpQuery或querypath。两者都有内置的http支持。
发布于 2013-08-07 07:43:30
这里有一种简单的方法,可以在allow_url_fopen设置为false时获取图像,而不需要研究专用工具。
在你的开发环境中创建一个网页,加载你正在抓取的所有图片。然后,您可以使用浏览器保存图像。File -> "Save Page As"。
如果您需要一种一次性解决方案,以便从allow_url_fopen设置为0的远程服务器下载一组图像,那么这将非常方便。
在file_get_contents和curl失败后,这对我起作用了。
https://stackoverflow.com/questions/3880628
复制相似问题