希望一切顺利。
我需要一点帮助。
我正在尝试使用CURL(http://wap.ebay.com/Pages/ViewItem.aspx?aid=160585148382)抓取页面,当此页面加载时,该页面中还有另一个链接(锚文本:描述),我也想刮掉那页。
当你直接进入你的浏览器的描述页面(http://wap.ebay.com/Pages/ViewItemDesc.aspx?aid=280655395879&emvcc=0)时,它会显示错误,如“会话已过期或没有找到拍卖细节“,我认为要抓住那个页面,我们需要进行一些会议或某些事情。
所以,首先我要Scrape http://wap.ebay.com/Pages/ViewItem.aspx?aid=280655395879&然后在描述按钮,然后前缀(http://wap.ebay.com/Pages)中提取URL,使其成为一个完整的URL,然后我想收取该URL的内容。
但看起来我无法让会话保持活力。
我的代码是:
<?
require_once('simple_html_dom.php');
$url = 'http://wap.ebay.com/Pages/ViewItem.aspx?aid=160585148382';
$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
//echo $curl_scraped_page;
$html = str_get_html($curl_scraped_page);
// Find the img tag in the Teaser_Item div
$a = $html->find('div[id=Teaser_Item] img', 0);
// Display the src
$e_image = 'http://wap.ebay.com/Pages/'.str_replace("width=57", "width=200", ($a->attr['src']));
echo '<img src="'.$e_image.'" /> <br /><br />';
$wow = $html->find('a#ButtonMenuItem3', 0);
$descurl = 'http://wap.ebay.com'.$wow->attr['href'];
echo $descurl;
exit;
$html->clear();
unset($html);
$html = file_get_html($descurl);
echo $html;
$html->clear();
unset($html);
?>
干杯 娜塔莎
答案 0 :(得分:1)
您没有将$ cookie设置为某个值,因此CURLOPT_COOKIEFILE
/ CURLOPT_COOKIEJAR
都是NULL,因此无法保存。
答案 1 :(得分:0)
$strCookie = 'PHPSESSID=' . $_COOKIE['PHPSESSID'] . '; path=/';
session_write_close();
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $ch, CURLOPT_COOKIE, $strCookie );