JezK
Edit File: cron_old.php
<?php ini_set('display_errors', '1'); ini_set('display_startup_errors', '1'); error_reporting('1'); require_once('../wp-load.php'); require('../wp-blog-header.php'); //get_header(); //Include header $date = date('Y-m-d'); $login_url = 'https://www.iru-miru.com/en/login.php'; $base_url = 'https://www.iru-miru.com/en/metal_detail.php'; $types = [ 2 => 'Rare earth', 18 => 'Battery', 7 => 'Minor metal', 8 => 'Precious metal / PGM', 1 => 'Lead / Zinc / Tin', 3 => 'Aluminum', 6 => 'Copper', 9 => 'Iron ore / steel', 5 => 'SUS / Ferroalloy', 4 => 'E-waste', 15 => 'SCD / Electronics', 16 => 'Recycling' ]; // print_r($types); exit; fetch(); function fetch($date = null) { // echo $date; exit; $metals = [ 1 => [ 1 => 'LME Lead ($/MT)', 2 => 'Lead price (JPY/kg)', 3 => 'Lead battery scrap (JPY/kg)', 4 => 'Lead pipe (JPY/kg)', 171 => 'Lead ore (TC50%) ($/MT)', 5 => 'LME Zinc ($/MT)', 6 => 'Yamamoto price (JPY/kg)', 172 => 'Zinc ore (TC50%) ($/MT)', 7 => 'LME Tin ($/MT)', 8 => 'Domestic Tin Bullion (JPY/kg)' ], 2 => [ 9 => 'Cerium metal (99%min in China) (RMB/kg)', 10 => 'Cerium metal (99%FOB China) ($/kg)', 11 => 'Cerium oxide (99%min in China) (RMB/kg)', 12 => 'Cerium oxide (99% FOBChina) ($/kg)', 219 => 'Cerium carbonate (45-50% CeO2/TREO 100% FOBChina) ($/MT)', 13 => 'Dysprosium metal (99%min in China) (RMB/kg)', 14 => 'Dysprosium metal (99% FOBChina) ($/kg)', 15 => 'Dysprosium oxide (99%min in China) (RMB/kg)', 16 => 'Dysprosium oxide (99%FOB China) ($/kg)', 17 => 'Europium oxide (99%min in China) (RMB/kg)', 18 => 'Europium oxide (99% FOBChina) ($/kg)', 19 => 'Dysprosium iron alloy (99%min Dy 80% in China) (RMB/kg)', 20 => 'Dysprosium iron alloy (99%min Dy 80% FOBChina) ($/kg)', 220 => 'Erbium oxide (99%min FOBChina) ($/kg)', 23 => 'Gadolinium oxide (99%min in China) (RMB/kg)', 24 => 'Gadolinium oxide (99.99%min in China) ($/kg)', 25 => 'Lanthanum metal (99%min in China) (RMB/kg)', 26 => 'Lanthanum metal (99% FOBChina) ($/kg)', 27 => 'Lanthanum oxide (99%min in China) (RMB/kg)', 28 => 'Lanthanum oxide (99% FOBChina) ($/kg)', 29 => 'Lanthanum oxide (99.999%min in China) (RMB/kg)', 30 => 'Lanthanum oxide (99.999% FOBChina) ($/kg)', 32 => 'Misch metal (TREM≥99% Ce/TREM≥65% China) (RMB/kg)', 33 => 'Misch metal (TREM≥99% Ce/TREM≥65% China) ($/kg)', 34 => 'Misch metal (PrNd 99%min Nd 75% China) (RMB/kg)', 35 => 'Misch metal (PrNd 99%min Nd 75% FOBChina) ($/kg)', 36 => 'Neodymium metal (99%min in China) (RMB/kg)', 37 => 'Neodymium metal (99% FOBChina) ($/kg)', 38 => 'Neodymium oxide (99% in China) (RMB/kg)', 39 => 'Neodymium oxide (99% FOBChina) ($/kg)', 221 => 'Praseodymium oxide (99% FOBChina) ($/MT)', 40 => 'Praseodymium metal (99% FOBChina) ($/kg)', 41 => 'Terbium oxide (99.9%min in China) (RMB/kg)', 42 => 'Terbium oxide (99.9% FOBChina) ($/kg)', 43 => 'Yttrium oxide (99.999%min in China) (RMB/kg)', 44 => 'Yttrium oxide (99.999% FOBChina) ($/kg)', 45 => 'Samarium oxide (99.9%min in China) (RMB/kg)', 46 => 'Samarium oxide (99%min FOBChina) ($/kg)', 47 => 'Samarium metal (99%min in China) (RMB/kg)', 48 => 'Samarium metal (99%min FOBChina) ($/kg)', 236 => 'Scandium oxide (99.99%min China) (RMB/kg)' ], 3 => [ 49 => 'LME Aluminium ($/MT)', 50 => 'LME Aluminium Alloy ($/MT)', 169 => 'Australia alumina (FOB Australia USD/ton) (US$/ton)', 234 => 'Brazil alumina (FOB Brazil USD/ton) (US$/ton)', 249 => 'Aluminium P1020A premium, in-whs dp Rotterdam ($/tonne)', 250 => 'Aluminium P1020A premium, ddp Midwest US (cents/lb)', 251 => 'Aluminium P1020A (MJP) spot premium, cif Japan ($/ton)', 51 => 'NSP (Domestic aluminum metal) (JPY/kg)', 52 => 'Japan ADC12 (JPY/kg)', 53 => 'Sigma D12S ($/t)', 54 => 'Russia AK5M2 ($/t)', 55 => 'China ADC12(CIF Japan) (USD/ton)', 237 => 'Zorba (Metal97-98%CIF China) (USD/ton)', 56 => 'Aluminum 2S new cut (JPY/kg)', 57 => 'Aluminum sash 63 (No screw) (JPY/kg)', 58 => 'Aluminum 52 new cut (JPY/kg)', 59 => 'Aluminum Sash with screw (Pressed goods) (JPY/kg)', 60 => 'Aluminum wheel Mix (JPY/kg)', 61 => 'Japan aluminum base metal (JPY/kg)', 62 => 'Aluminum printing board (JPY/kg)', 63 => 'Aluminum new machine casting (JPY/kg)', 64 => 'Aluminum UBC(usedbeverage can) (JPY/kg)', 65 => 'Alum Dalai powder MIX (JPY/kg)', 66 => 'Aluminum-containing glass (JPY/kg)', 67 => 'Air conditioner radiator (with copper tube) (JPY/kg)', 71 => 'Black and white engine (JPY/kg)', 72 => 'White engine (JPY/kg)' ], 4 => [ 73 => 'Ceramic CPU (pure) (JPY/kg)', 74 => 'HDD board (JPY/kg)', 75 => 'IC board (middle) (JPY/kg)', 76 => 'Motherboard (MIX) (JPY/kg)', 77 => 'Motherboard (upper) * PEN III or earlier (JPY/kg)', 78 => 'Motherboard (bottom) * PENIV or later (JPY/kg)', 79 => 'Laptop motherboard (JPY/kg)', 80 => 'Memory board (JPY/kg)', 81 => 'Lithium ion battery (JPY/kg)', 261 => 'Lithium ion battery (JPY/kg)', 82 => 'Home appliance board (except washing machine) (JPY/kg)', 83 => 'Mobile phone (main body) (JPY/kg)' ], 5 => [ 84 => 'LME Nickel ($/MT)', 85 => 'Domestic nickel metal (JPY/kg)', 245 => 'NPI content 10-15% China (RMB/NickelMTU)', 244 => 'Nickel Ore Philippine 1.8%min CIF China ( USD/mt)', 86 => 'High carbon ferrochrome ($/LB)', 87 => 'Low carbon ferrochrome ($/LB)', 248 => 'Chrome ore South Africa UG2 concentrates Cr42%, CIF/China ($/ton)', 88 => 'High carbon ferromanganese(Mn75%min, C8%Max Europe) (EUR/MT)', 90 => 'Ferromanganese flakes(Mn99.7% Ex-VAT FOB China) ($/MT)', 91 => 'Silicomanganese (Mn65/Si17China) ($/MT)', 235 => 'Calcium silicon(30-55FOBChina) (USD/ton)', 92 => 'Ferrosilicon (72%minSiFOB China) ($/MT)', 93 => 'Molybdenum oxide ($/LB)', 94 => 'Ferromolybdenum (basisMo65% min) ($/kg Mo)', 95 => 'Ferroniobium ($/kg Nb)', 96 => 'Ferrotitanium ($/kg Ti)', 97 => 'Ferrotungsten ($/kg)', 98 => 'Ferrovanadium (basis 78% min EU, freemarketdelivered duty paidtoconsumer plant) ($/kg)', 99 => 'Niobium pentoxide ($/kg)', 100 => 'Vanadium pentoxide(V2O5) ($/lb V2O5 FOB CHINA)', 101 => 'Australian Manganese ore (Mn44%min US $/Mn1%) (USD/MTU)', 102 => '304 series scrap (JPY/kg)', 103 => '316 series scrap (JPY/kg)', 104 => '430 series scrap (JPY/kg)', 105 => '310 series scrap (JPY/kg)', 106 => '304 series scrap (JPY/kg)', 107 => '42 alloy scrap (JPY/kg)', 108 => 'MIX SKH50-59 (JPY/kg)', 109 => 'SKH50-59 (JPY/kg)', 110 => 'Pure titanium sheet scrap (JPY/kg)', 111 => 'Titanium alloy scrap (JPY/kg)', 112 => 'Titanium carbidescrap (JPY/kg)', 252 => 'hastelloyX (JPY/kg)', 253 => 'hastelloy C (JPY/kg)', 254 => 'inconell718 (JPY/kg)', 255 => 'inconell625 (JPY/kg)', 256 => 'incolloy800 (JPY/kg)', 257 => '6-4titanium ultra (JPY/kg)', 258 => 'molybdenum solid scrap (JPY/kg)', 259 => 'tantalum PIN scrap (JPY/kg)', 260 => 'ND magnet scrap (JPY/kg)', 113 => '304 cold rolled stainless sheet 2mm thickness (JPY/kg)', 114 => '430 cold rolled stainless sheet (JPY/kg)', 115 => '316 hot rolled stainless sheet 7mm thickness (JPY/kg)', 116 => '304 steel stainless bar (JPY/kg)', 243 => 'Stainless steel cold-rolled coil EastAsia CIF 304 (2mm 2B) ($/ton)', 269 => 'China Stainless Scrap (304 Solid in China) (RMB/mt)' ], 6 => [ 117 => 'LMECopper ($/MT)', 118 => 'NY Copper ($/lb)', 119 => 'SHFE Copper ($/MT(incTax))', 120 => 'Copper price (JPY/kg)', 121 => 'Number one picker linebare bright (JPY/kg)', 122 => 'Fresh copper cut (JPY/kg)', 123 => 'Copper (for smelting and refining Cu95%) (JPY/kg)', 124 => 'Coated copper wire (Cu40%) (JPY/kg)', 125 => 'Brass (JPY/kg)', 126 => 'Brass powder (JPY/kg)', 262 => 'night (円/kg)', 263 => 'Brass powder (円/kg)', 264 => 'Brass powder (円/kg)', 265 => 'Brass powder (円/kg)', 127 => 'Copper brass A (without impurities) (JPY/kg)', 128 => 'Phosphor bronze (JPY/kg)', 129 => 'Gunmetal roller (parallel bronze casting/without accessories) (JPY/kg)', 130 => 'Harness (JPY/kg)', 170 => 'Copper ore (TC30%) ($/MT)' ], 7 => [ 132 => 'Antimony (99.65% China) ($/MT)', 133 => 'Antimony trioxide (99.5%min FOBChina) ($/MT)', 134 => 'Bismuth (EU Freemarket) ($/LB)', 135 => 'Bismuth oxide (99.9%min in China) ($/kg)', 238 => 'LME Cobalt (US$/ton)', 136 => 'LG Cobalt (Co 99.3%) ($/LB)', 266 => 'HG Cobalt (Co 99.8%) ($/lb)', 138 => 'Cadmium (99.95% EU) ($/LB)', 222 => 'Ferrochrome (EU Freemarket) ($/MT)', 139 => 'Gallium (EU Freemarket) ($/kg)', 140 => 'Germanium metal (99.99% China) ($/kg)', 141 => 'Germanium oxide (99.999% China) ($/kg)', 142 => 'Indium (99.99% China) ($/kg)', 223 => 'Lithium metal (99.9% Delivered China) (RMB/mt)', 143 => 'Lithium carbonate (99% China) (RMB/mt)', 239 => 'Lithium carbonate (99.5% China) (RMB/mt)', 224 => 'Lithium hydroxide (56.5%min Delivered China) (RMB/mt)', 144 => 'Magnesium (99.9%China) (USD/MT)', 145 => 'Selenium (99.9%) (USD/lb)', 146 => 'Tellurium (99.95%) (USD/kg)', 150 => 'Rhenium (99.9% US) ($/kg)', 151 => 'Ferrosilicon (553 China) ($/MT)', 152 => 'Ferrosilicon (441 China) ($/MT)', 153 => '6N silicon (Solar-grade China) ($/kg)', 155 => 'Tantalite (Ta2O5 30%min CIFChina) ($/LB Ta2O5)', 156 => 'Tantalum (99.95% China) ($/kg)', 157 => 'Tantalum pentoxide ($/kg)', 158 => 'Titanium ore (Ilmenite) TI02 50% Fe203 14% ($/t)', 159 => 'Rutile sand (TIO290% China) ($/MT)', 160 => 'Titanium oxide (Rutile TiO2 93%min FOBChina) (USD/ton)', 161 => 'Titanium sponge ($/kg)', 162 => 'Tungsten ore (WO350%) (USD/mtu)', 163 => 'APT (EU Freemarket) ($/MTU)', 164 => 'Tungsten carbide (99.7%min 2.5-7.0micron FOBChina) ($/kg)', 165 => 'Tungsten oxide (WO3 99.95%min FOBChina) ($/mtu)', 166 => 'Tungsten bar (W-4 99.9% China) ($/kg)', 167 => 'Zirconium sponge (99.4%Zr+Hf) China (RMB/kg)', 168 => 'Zircon sand (ZrO266% CIF China) ($/MT)', 225 => 'Zirconium oxychloride (Zr(Hf)O2 36%min EXW China) (RMB/mt)' ], 8 => [ 173 => 'Gold (Yamamoto price) (JPY/g)', 174 => 'Silver (Yamamoto price) (JPY/kg)', 175 => 'Japan platinum (JPY/g)', 176 => 'Japan palladium (JPY/g)', 177 => 'NY Gold ($/toz)', 178 => 'NY Silver ($/toz)', 179 => 'NY Palladium ($/toz)', 180 => 'NY Platinum ($/toz)', 181 => 'Rhodium Johnson Matthey ($/toz)', 182 => 'Iridium ($/toz)', 183 => 'Ruthenium ($/toz)', 184 => 'Japan rhodium (JPY/g)', 185 => 'Japan iridium (JPY/g)', 186 => 'Japan ruthenium (JPY/g)', 187 => 'Automobile waste catalyst (honeycomb) Large (JPY/unit)', 188 => 'Automobile waste catalyst (honeycomb) Medium (JPY/unit)', 189 => 'Automobile waste catalyst (honeycomb) Small (JPY/unit)' ], 9 => [ 190 => 'Iron ore (62%Fe USD/ton CFRChina Qindao) ($/Dryton)', 191 => 'Small stick (JPY/mt)', 192 => 'H steel (JPY/mt)', 226 => 'US Composite ($/ton)', 193 => 'H2 (3 area average price:Kanto, Nagoya, Osaka) (JPY/mt)', 194 => 'H2 (special grade, domestic price) (JPY/t)', 231 => 'H2 (Totetsu-Okayama Sea) (JPY/t)', 232 => 'H2 (Totetsu Tahara Onsen) (JPY/t)', 233 => 'Raw material coal (High-grade strong sticky coal AUFOB USD/ton) (US$/ton)', 195 => 'New shredded steel scrap (JPY/t)', 196 => 'High manganese steel (JPY/t)', 197 => 'C press (JPY/t)', 227 => 'Graphite electrode (RMB/mt)', 246 => 'Steel scrap HMS 1&2 (75:25 mix) import,cfr delivered Turkish port ($/ton)', 247 => 'Steel scrap HMS 1&2 (80:20), cfr Vietnam, ($/ton)', 268 => 'China Steel Scrap (HMS in China) (RMB/mt)', 267 => 'China Steel Billt (RMB/mt)' ], 15 => [ 154 => '11N silicon (semiconductor US) ($/kg)' ], 16 => [ 198 => 'Industrial miscellaneous goods (JPY/kg)' ], 18 => [ 240 => 'Nickel Sulfate (RMB/mt)', 241 => 'Cobalt Sulfate (RMB/mt)', 242 => 'NCM 523 Delivered China (RMB/ton)' ] ]; $today = $date ?? date('Y-m-d'); //$today = '2023-06-10'; //echo $today; exit; //$cookies = $this->login(); $cookies = login(); // print_r($cookies); exit; // $this->fetch_metals($cookies, 5); // // return ; //print_r($metals); exit; foreach ($metals as $type => $orig_metals) { // print_r($orig_metals); exit; //echo 'Processing Type: ' . $this->types[$type] . PHP_EOL; echo 'Processing Type: ' . $type . PHP_EOL; $base_url = 'https://www.iru-miru.com/en/metal_detail.php'; $metals = fetch_metals($cookies, $type, $base_url); // print_r($metals); exit; foreach ($metals as $id => $name) { echo 'Processing Metal: ' . $name . PHP_EOL; $uri = $base_url . '?id=' . $id . '&type=4'; $response = wp_remote_post( $uri, [ 'timeout' => 15000000000000, 'method' => 'POST', 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0', 'cookies' => $cookies ] ); // print_r($response); exit; $content = wp_remote_retrieve_body($response); //echo $today; exit; if (!is_array($today)) { // echo 'Hi'; exit; $prices = parse_data($content, $today); // print_r($type); exit; insert_data($type, $name, $prices); } else { // echo 'else daata'; exit; foreach ($today as $date) { $prices = parse_data($content, $date); insert_data($type, $name, $prices); } } } } } // fetch(); function login() { $login_data = [ 'mode' => 'login', 'login_id' => 'nabeel.mancheri@global-reia.org', 'login_pw' => 'reia2586' ]; $login_url = 'https://www.iru-miru.com/en/login.php'; $result = wp_remote_post($login_url, [ 'timeout' => 15000000000000, 'method' => 'POST', 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0', 'body' => $login_data ]); // print_r($result); exit; return $result['cookies']; } function fetch_metals($cookies, $gid, $base_url) { // print_r($cookies);exit; // echo $base_url . '?gid=' . $gid; exit; $response = wp_remote_post( $base_url . '?gid=' . $gid, [ 'timeout' => 60, // Increase the timeout to 15 seconds 'method' => 'POST', 'user-agent' => 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:20.0) Gecko/20100101 Firefox/20.0', 'cookies' => $cookies ] ); $content = wp_remote_retrieve_body($response); $dom = new DOMDocument('1.0', 'UTF-8'); @$dom->loadHTML('<?xml encoding="utf-8" ?>' . $content); $node = @$dom->getElementById('categoryId'); $items = []; if ($node) { foreach ($node->childNodes as $option) { if ($option->nodeName !== 'option' || empty($option->nodeValue)) { continue; } $items[@$option->getAttribute('value')] = trim($option->textContent); } } return $items; } function parse_data($content, $date) { $matches; preg_match('/\[\'' . $date . '\',.{2,20}?]/', $content, $matches); return array_map(function ($item) { return json_decode(str_replace('\'', '"', $item)); }, $matches); } function insert_data($type, $name, $prices) { // global $wpdb; foreach ($prices as $row) { $servername = "localhost"; $username = "bu3is_reia_user"; $password = "Krih#Rma@43%"; // Create connection $conn = mysqli_connect($servername, $username, $password, "bu3is_reia_db"); $conn->set_charset("utf8mb4"); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $price_min = !empty($row[2]) ? $row[2] : null; // echo $price_min; exit; $price_max = !empty($row[3]) ? $row[3] : null; $stmt = "INSERT INTO market_prices_test (`type`,`description`,`date`,`price`,`price_min`,`price_max`) VALUES ('$type','$name','$row[0]','$row[1]','$price_min','$price_max')"; $insert_data = $conn->query($stmt); } }