QUOTE (oogabooga @ Dec 15 2009, 04:47 PM)
I have no idea where to start but I figured I should just suggest it.
Start here:
CODE
<?php
require_once("config.php");
set_time_limit(0);
$letters_int = 0;
$letters_char;
while($letters_int < 26)
{
switch($letters_int)
{
case 0: $letters_char="a"; break;
case 1: $letters_char="b"; break;
case 2: $letters_char="c"; break;
case 3: $letters_char="d"; break;
case 4: $letters_char="e"; break;
case 5: $letters_char="f"; break;
case 6: $letters_char="g"; break;
case 7: $letters_char="h"; break;
case 8: $letters_char="i"; break;
case 9: $letters_char="j"; break;
case 10: $letters_char="k"; break;
case 11: $letters_char="l"; break;
case 12: $letters_char="m"; break;
case 13: $letters_char="n"; break;
case 14: $letters_char="o"; break;
case 15: $letters_char="p"; break;
case 16: $letters_char="q"; break;
case 17: $letters_char="r"; break;
case 18: $letters_char="s"; break;
case 19: $letters_char="t"; break;
case 20: $letters_char="u"; break;
case 21: $letters_char="v"; break;
case 22: $letters_char="w"; break;
case 23: $letters_char="x"; break;
case 24: $letters_char="y"; break;
case 25: $letters_char="z"; break;
}
$url = "http://users.nexustk.com/userfiles/".$letters_char.".html";
$contents = file_get_contents($url);
$string_start ='<a href="http://users.nexustk.com/?name=';
$string_end ='">';
$name_start = strpos($contents, $string_start);
while($name_start !== false)
{
$name_start = $name_start+40;
$name_end = strpos($contents, $string_end, $name_start);
$name_length = $name_end-$name_start;
$name = substr($contents, $name_start, $name_length);
$name_start = strpos($contents, $string_start, $name_end);
$query = "SELECT COUNT(*) FROM nexususers WHERE name='$name'";
$usr = mysql_query($query);
if(!$usr) exit("Error - ".mysql_error());
$total = mysql_result($usr, 0);
if($total < 1)
{
$query= "INSERT INTO nexususers VALUES(
NULL,
'$name',
CURDATE(),
NULL)";
if(mysql_query($query))
{
echo $name."<br>";
}
else exit("Errior adding data - " . mysql_error());
}
}
//increase letter page loop
$letters_int = $letters_int+1;
}
?>
That'll get you all unique names listed on the user pages. Next step:
- open user pages based on names collected the same way you opened user list in above code
- find unique string_start and string_end values for item names and counts
- parse out item information and insert in new database just like done in above code with names
- display items however you want with whatever sorting/organizing functions you care to use
Example for how to display items, may want to order by count in your case though:
CODE
<?php
require_once("config.php");
$results = mysql_query("SELECT * FROM nexusitems ORDER BY name")
or die(mysql_error());
echo "<table border='1'>";
echo "<tr><th>Id</th> <th>Name</th> <th>Price</th> <th>User</th> <th>Date</th </tr>";
while($row=mysql_fetch_array($results))
{
echo "<tr><td>";
echo $row['id'];
echo "</td><td>";
echo $row['name'];
echo "</td><td>";
echo $row['price'];
echo "</td><td>";
echo $row['user'];
echo "</td><td>";
echo $row['date'];
echo "</td></tr>";
}
echo "</table>";
?>
Now you know where to start =)
Aceostar or Berig shouldn't have any problem with this, it is pretty basic web programming.
The above code should also make it very easy for someone who hasn't done it before but has basic web scripting knowledge to do this and other similar things.