我正試圖通過零件編號進行回圈,以獲得其相關資訊。如果我呼應部件號,它總是相同的。即使起始部件號是正確的。有什么想法?
include('./simple_html_dom.php') 。
require './includes/config.inc.php';
require './includes/Database.inc.php';
$db = new Database();
$db->query('SELECT part_num FROM GE LIMIT 4') 。
$results = $db-> resultset();
foreach($results as $result){
$startingPN = trim($result['part_num'])。
$curlPost['accountNumber']="*****";
$curlPost['password'/span>]="******"/span>。
$curlPost['contactForm']="https://www.*****.com/images/layout/input/submit.gif" /span>。
$ch = curl_init()。
curl_setopt($ch, CURLOPT_URL , "https://www.*****.com/login") 。
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.A.B.C Safari/525.13"/span>) 。
curl_setopt($ch, CURLOPT_POST, 1) 。
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost) 。
curl_setopt($ch, CURLOPT_HEADER, true)。
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true)。
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true)。
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt") 。
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt") 。
$response = curl_exec($ch)。
curl_setopt($ch, CURLOPT_URL, 'https://www.******.com/search/?part='.$startingPN); //set url for next request.
$exec = curl_exec($ch)。
//創建一個DOM物件。
$html = new simple_html_dom() 。
//從一個字串中加載HTML。
$html->load($exec)。
foreach($html->find('table.searchWholesale') as $article) {
$item['part_num'] = $article-> find('span。 purpleBold', 0)->純文本。
$item['description'] = $article->查找('span.twelve', 1)->明文。
$item['cost'] = $article-> find('span. fourteen', 1)->純文本。
$item['retail'] = $article-> find('span. fourteen', 2)->純文本。
$item['brand'] = $article->查找('td.leftColumn',0)。
$item['count'] = count($article->find('div.productHide') )。)
$item['productHide1'] = $article->find('div. productHide', 0)->純文本。
$item['productHide2'] = $article->查找('div. productHide', 1)->純文本。
$articles[] = $item;
}
$last_checked = date("U"/span>)。
$part_num = $articles[0]['part_num'] 。
$title = ucwords(strtolower($articles[0]['description'])。
$cost = floatval(ltrim($articles[0]['cost'], '$')) 。
$retail = floatval(ltrim($articles[0][' retail'], '$')) 。
$brand = $articles[0]['brand'] 。
$brand->children(0)->outertext = ""/span>;
$brand->children(1)->outertext = ""/span>;
$brand->children(2)->outertext = ""/span>;
$brand->children(3)->outertext = ";
$brand->children(4)->outertext = ";
$brand->children(5)->outertext = ";
$brand->children(6)->outertext = ";
//$brand->children(7)->outertext = "";.
//$brand->children(8)->外文="";
//$brand->children(9)->outertext = "";
$brand_qty = explode(" ", $brand) 。
$name_brand = $brand_qty[15] 。
$qty_avail = $brand_qty[21] 。
echo '<br>'.$startingPN 。'<br>'. $part_num . '<br>' . $title . '<br>' . $cost . '<br>' . $retail . '<br>' . $name_brand;
}
這樣的輸出... 第一條是唯一正確的一條。注意到WE04X10010在所有后續的回圈中被作為部件號呼應。
WE04X10010
WE04X10010
蜂鳴器
55.5
103.58[/span
一般情況
WD12X441 <-($startingPN)
WE04X10010 <- 這應該是相同的as $startingPN(WD12X44)。
蜂鳴器
55.5 (WD12X44)
103.58[/span
一般情況
WH11X139 <-($startingPN)
WE04X10010 <-這應該是相同的as $startingPN(WH11X139)。
蜂鳴器
55.5
103.58[/span
一般情況
WH11X10015 <-($startingPN)
WE04X10010 <- 這應該是相同的as $startingPN (WH11X10015)
蜂鳴器
55.5
103.58[/span
一般情況
uj5u.com熱心網友回復:
我認為你的$articles變數需要在每個主回圈中重置。像下面這樣:
$articles=[]。
foreach($html->find('table.searchWholesale') as $article) {
$item['part_num'] = $article-> find('span。 purpleBold', 0)->純文本。
$item['description'] = $article->查找('span.twelve', 1)->明文。
$item['cost'] = $article-> find('span. fourteen', 1)->純文本。
$item['retail'] = $article-> find('span. fourteen', 2)->純文本。
$item['brand'] = $article->查找('td.leftColumn',0)。
$item['count'] = count($article->find('div.productHide') )。)
$item['productHide1'] = $article->find('div. productHide', 0)->純文本。
$item['productHide2'] = $article->查找('div. productHide', 1)->純文本。
$articles[] = $item;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/331033.html
標籤:
下一篇:從MongoDB獲取隨機用戶
