我正在使用PHPCrawler类从eBay等不同商店获取产品名称,该库适用于我在我的应用程序中支持的所有商店,除了Blink store website网站的搜索页面通常不像其他商店一样启动存储网站,当我通过Chrome调试器跟踪网站的请求时,我发现它是由脚本启动的,虽然请求网址与我输入到Chrome上的地址栏的原始网址相同,而我在该类中设置的网址也可以抓取
那么爬虫类有什么方法可以获取我重定向到的页面?我已经使用了setFollowRedirects方法,但没有运气,因为重定向是在客户端通过javascript而不是在标题中完成的。除了我在正常的get请求之后发现了一个额外的post请求,我也尝试添加post数据但是得到相同的结果是一个空的结果集,当我输出获取的页面时我得到它没有列出的产品
备注:Blink商店网站是一个ASP.net网站,这是我无法抓取其网页的原因吗?
更新
我尝试使用标准的php cURL函数获取页面并回显响应,页面回显不完整并保持刷新。
答案 0 :(得分:0)
我终于在同一个远程页面上使用cURL两次解决了这个问题,除非你有网站要求的有效cookie,否则搜索结果不会出现,所以第一个cURL请求是首先在文件中获取cookie ,然后另一个cURL请求用于获取内容。
在调用curl_exec()
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt');