// quote fix $text = str_replace('Shirtri', 'Shiritri', $text); // Shiritri typo fix return $text; } include 'simple_html_dom.php'; set_time_limit(0); // prevent maximum execution time timeout echo 'Scrape Wiki Items<br>'; $file_get_context = stream_context_create(array('http' => array('header' => 'Connection: close'))); $file = fopen("data/item_names.txt", "r"); if ($file) { while (($item_name = fgets($file)) !== false) { $item_name = rtrim($item_name); $item_wiki_name = convert_item_name_to_wiki_name($item_name); $item_wiki_name = fix_item_name($item_wiki_name); $url = 'http://wiki.shardsofdalaya.com/index.php?title=' . $item_wiki_name . '&action=edit'; echo '<a href="' . $url . '">' . $item_name . '</a><br>'; $html = file_get_html($url, false, $file_get_context); if (strpos($html, '{{Itemstats') === false) { echo 'Item Stats not found for: ' . $item_name . '<br>'; continue; } $item_stats = ''; // find the {{Itemstats text box foreach ($html->find('textarea') as $textarea) { if (strpos($textarea->id, 'wpTextbox1') !== false) { //echo $textarea->plaintext . '<br>'; $item_stats = $textarea->plaintext; break; }
array_push($character_names, $character_name); $dump .= $character_name . "\n"; echo 'Character: ' . $character_name . '<br>'; $vendorinv = file_get_html('http://shardsofdalaya.com/vendorlist/vendorinv.php?char=' . $character_name, false, $file_get_context); $number_of_items_for_sale = string_between($vendorinv->plaintext, $character_name . ' has ', ' items for sale'); $number_of_items_per_page = 10; $max_item_pages = ceil($number_of_items_for_sale / $number_of_items_per_page); if ($number_of_items_for_sale == 0) { continue; } for ($item_pages_counter = 1; $item_pages_counter <= $max_item_pages; $item_pages_counter++) { $vendorinv = file_get_html('http://shardsofdalaya.com/vendorlist/vendorinv.php?char=' . $character_name . '&page=' . $item_pages_counter, false, $file_get_context); foreach ($vendorinv->find('a') as $vendorinv_link) { if (strpos($vendorinv_link->href, 'items.php?id=') !== false) { $item_name = $vendorinv_link->innertext; $item_name = fix_item_name($item_name); array_push($item_names, $item_name); $dump .= ' ' . $item_name . "\n"; $item_image = ''; $item_tags = ''; $item_hp = ''; $item_mana = ''; $item_ac = ''; $item_dmg = ''; $item_atkdelay = ''; $item_filename = 'items/' . md5($item_name) . '.txt'; if (file_exists($item_filename)) { $item_stats = parse_ini_file($item_filename); if (array_key_exists('image', $item_stats)) { $item_image = $item_stats['image']; }