使用安全登录进行PHP站点清理

Chr*_*rds 5 php

我正在努力减少我的一个经销商每件产品的库存数量.他们不知道如何导出这些数据.所以我想知道是否有人可以帮我指出如何使用PHP抓取网站以获取数据的正确方向?它不是一个使用SSL的安全站点.

谢谢你的提示,

克里斯爱德华兹

Jon*_*Jon 12

到达目的地的最简单方法是使用cURL.cURL的基本功能是它允许您根据需要配置HTTP请求并接收响应.这可以根据您的需要以不同程度的细节完成.

你想要做的是基本上发出一个HTTP请求来获取你想要的页面,并从响应的HTML中删除数据.这可以很容易,但在你的情况下,你需要克服一些障碍.

我假设通过说"必须登录",你的意思是有一个登录表单,你必须通过才能刮掉任何东西.cURL可以在您的帮助下伪造登录信息.

首先,您需要使用cURL"提交"登录表单,就像您手动执行一样.为了确保您正确使用,您需要查看浏览器在手动提交表单时所做的HTTP请求,并使用cURL构建相同的请求.要详细查看HTTP请求,您可以使用Firebug,Chrome的开发人员工具或绝对出色的 Fiddler调试代理.

最有可能的是,在提交有效的登录表单后,服务器将向您发送一个cookie,用于在后续请求中对您进行身份验证.此cookie将成为服务器HTTP响应(Set-Cookie标头)标头的一部分.您将需要记住该cookie的值,并Cookie在随后的服务器擦除中包含一个标题 - 实际上,如果您已登录**¹**,您的浏览器将完全正确.

最后,您可能需要进行多次往返才能找到目标.也许你需要抓取的URL事先不知道,你需要抓一个"列表"页面来找出你想要抓取的URL的一些可变部分.这可以通过简单地解决问题来解决:首先刮掉"列表"页面,找出你需要的东西,然后刮掉你真正想要的"细节"页面.

我没有提供任何代码,因为网上有大量的cURL教程,但我相信知道计划是什么会让你的工作变得更加容易.


¹另一种(更快,但更粗糙)的方法是简单地登录自己,看到你得到的cookie的价值,并将其粘贴到你的scrape的请求中.好处是你不再需要使用cURL伪造登录; 缺点是在每次使用工具之前,有人必须手动登录并为您的工具提供凭据.