php - 抓取一个需要 cookie 的站点

标签 php curl web-scraping

我正在尝试抓取远程网站。我正在使用 PHP Curl,我的代码很好。我知道这一点,因为我使用了 Fiddler、Tamper Data 等来使我的代码恰到好处。但是,它仍然没有用。所以,我尝试了几个小时前就应该测试的东西:

我在浏览器中关闭了 cookie。果然,我现在搜索不到远程站点了。他们的代码需要一个 cookie 来搜索我想要抓取的产品。

有没有办法伪造/欺骗/规避以便我可以抓取网站?我可以告诉 CURL 使用我下载的 cookie 吗?我什至不知道该问什么问题。

最佳答案

看看各种curl_setopt cookie 的参数。

您可以使用 CURLOPT_COOKIE 手动设置 cookie,或使用 CURLOPT_COOKIEJAR 和磁盘上的文件来实际存储和持久保存多个请求中的 cookie。

但是,您可能只需要一个 session cookie,手册上说默认支持它——只要您对每个请求使用相同的 curl 实例即可。如果您为每个请求创建一个新的 curl 实例,这些实例将不会共享 cookie。

关于php - 抓取一个需要 cookie 的站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5110432/

相关文章:

php - 如何在从 php 回显页面接收到的 .post() 输出数据中运行 javascript 函数

php - 将CURL命令转换为CURL php

java - 如何为 Spring 数据 JPA REST 启用 Post/Put 方法? ("error 405 : method not allowed")

php - sql数据库中eloquent laravel中文支持

php - AJAX 登录表单 : Undefined PHP variables

java - Jsoup - 如何抓取当前播放歌曲的广播网站?

python - 无法使用 privoxy 和 stem 从 Tor 获取新的 ip

python - Tweepy 仅返回 76 条推文

javascript - 如何使用ajax将我的jquery数组保存到php

php - 这个隐藏输入的正确模式是什么