| | |||||
| ||||||||
| Programming PHP, Perl, Ruby on Rails, AJAX, HTML, XHTML, CSS, JavaScript, MySQL and any other coding topics. |
![]() |
| | LinkBack | Thread Tools |
| | THREAD STARTER #1 (permalink) |
| NamePros Regular Join Date: Mar 2007
Posts: 203
![]() | Wanted - Script to Display Yahoo inlinks,Alexa ranking and Google PR Does anyone know how I would go about making it so I could display a live Yahoo Inlink result, Alexa Ranking and Current PR So would look like this 0,000,000 - Inbound Links | 0,000,000 - Alexa Ranking. | Page Rank: 0 Dont want to display the badges would like to give live text results like the above example. However I have no luck searching for any information on achieving these types of results. Thank you |
| |
| | #2 (permalink) |
| Danltn.com Join Date: May 2007 Location: Danltn.com / Nottingham, UK
Posts: 1,201
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | These aren't exactly spot on, but they should be alright Parse URL: PHP Code: PHP Code: PHP Code: PHP Code: PHP Code: PHP Code:
__________________
Last edited by Danltn; 07-27-2007 at 12:37 AM.
|
| |
| | THREAD STARTER #3 (permalink) |
| NamePros Regular Join Date: Mar 2007
Posts: 203
![]() | Thank you Danltn now if I only knew how to implement this I tried to add these to a php page and got a parse error since it was showing and error for http:// figured I had to physically add an address so in Code: $this->url = parse_url('http://' . ereg_replace('^http://', '', $url));
$this->url['full'] = 'http://' . ereg_replace('^http://', '', $url); Code: $this->url = parse_url('http://mysite.com' . ereg_replace('^http://', '', $url));
$this->url['full'] = 'http://' . ereg_replace('^http://', '', $url); |
| |
| | #4 (permalink) |
| Danltn.com Join Date: May 2007 Location: Danltn.com / Nottingham, UK
Posts: 1,201
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | If you just want it ready-made... Code: <html><head>
<meta http-equiv="content-type" content="text/html;charset=ISO-8859-1"><title>Lookup</title>
<style type="text/css" media="screen"><!--
body
{
color: black;
background-color: #fff;
margin: 0px
}
#horizon
{
color: black;
background-color: #fff;
text-align: center;
position: absolute;
top: 50%;
left: 0px;
width: 100%;
height: 1px;
overflow: visible;
visibility: visible;
display: block
}
#content
{
font-family: Verdana, Geneva, Arial, sans-serif;
background-color: lightblue;
margin-left: -170px;
position: absolute;
top: -100px;
left: 50%;
width: 340px;
height: 200px;
visibility: visible
}
--></style></head>
<?php
if (empty($_GET['url'])) { ?>
<body>
<div id="horizon">
<div id="content" style="padding-top:30;height:120px;top:-55px;">
<center>
<FORM METHOD="GET" ACTION="./lookup.php">
<span style="color:darkblue;font-weight:700;">URL</span>:<br /> <INPUT name="url" width="40" style="width:300;margin-top:10;font-size:24px;"><br />
<INPUT TYPE="submit" VALUE=Lookup style="width:200px;margin-top:10;">
</FORM>
</center>
</div>
</div>
</body></html>
<?php } else { ?>
<?php
$url=$_REQUEST[url];
class pagerank {
var $url;
function pagerank ($url, $options) {
$this->url = parse_url('http://' . ereg_replace('^http://', '', $url));
$this->url['full'] = 'http://' . ereg_replace('^http://', '', $url);
if ($options['pagerank']) {
$this->getPagerank();
}
if ($options['alexaRank']) {
$this->getAlexaRank();
}
if ($options['backlinksGoogle']) {
$this->getBacklinksGoogle();
}
if ($options['backlinksYahoo']) {
$this->getBacklinksYahoo();
}
}
function getPage ($url) {
if (function_exists('curl_init')) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
return curl_exec($ch);
} else {
return file_get_contents($url);
}
}
function getPagerank () {
$url = 'info:' . $this->url['host'];
$checksum = $this->checksum($this->strord($url));
$url = "http://www.google.com/search?client=navclient-auto&ch=6$checksum&features=Rank&q=$url";
$data = $this->getPage($url);
preg_match('#Rank_[0-9]:[0-9]:([0-9]+){1,}#si', $data, $p);
$value = ($p[1]) ? $p[1] : 0;
echo "<tr><td>Pagerank:</td> <td>$value</td></tr>";
}
function getAlexaRank() {
$url = $this->url['host'];
$url = "http://data.alexa.com/data?cli=10&dat=s&url=$url";
$data = $this->getPage($url);
preg_match('#<POPULARITY URL="(.*?)" TEXT="([0-9]+){1,}"/>#si', $data, $p);
$value = ($p[2]) ? number_format($this->toInt($p[2])) : 0;
echo "<tr><td>Alexa Rank:</td> <td>$value</td></tr>";
}
function getBacklinksGoogle() {
$url = $this->url['host'];
$url = 'http://www.google.com/search?q=link%3A' . urlencode($url);
$data = $this->getPage($url);
preg_match('#of about <b>([0-9,]+){1,}#si', $data, $p);
$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
echo "<tr><td>Google Backlinks:</td> <td>$value</td></tr>";
}
function getBacklinksYahoo() {
$url = $this->url['host'];
$url = 'http://siteexplorer.search.yahoo.com/search?p=' . urlencode("http://$url") . '&bwm=i';
$data = $this->getPage($url);
preg_match('#Inlinks \(([0-9,]+){1,}\)#si', $data, $p);
$value = ($p[1]) ? number_format($this->toInt($p[1])) : 0;
echo "<tr><td>Yahoo Backlinks:</td> <td>$value</td></tr>";
}
function toInt ($string) {
return preg_replace('#[^0-9]#si', '', $string);
}
function to_int_32 (&$x) {
$z = hexdec(80000000);
$y = (int) $x;
if($y ==- $z && $x <- $z){
$y = (int) ((-1) * $x);
$y = (-1) * $y;
}
$x = $y;
}
function zero_fill ($a, $b) {
$z = hexdec(80000000);
if ($z & $a) {
$a = ($a >> 1);
$a &= (~$z);
$a |= 0x40000000;
$a = ($a >> ($b - 1));
} else {
$a = ($a >> $b);
}
return $a;
}
function mix ($a, $b, $c) {
$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 13)));
$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 8));
$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 13)));
$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 12)));
$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 16));
$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 5)));
$a -= $b; $a -= $c; $this->to_int_32($a); $a = (int)($a ^ ($this->zero_fill($c, 3)));
$b -= $c; $b -= $a; $this->to_int_32($b); $b = (int)($b ^ ($a << 10));
$c -= $a; $c -= $b; $this->to_int_32($c); $c = (int)($c ^ ($this->zero_fill($b, 15)));
return array($a,$b,$c);
}
function checksum ($url, $length = null, $init = 0xE6359A60) {
if (is_null($length)) {
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12) {
$a += ($url[$k + 0] + ($url[$k + 1] << 8) + ($url[$k + 2] << 16) + ($url[$k +3] << 24));
$b += ($url[$k + 4] + ($url[$k + 5] << 8) + ($url[$k + 6] << 16) + ($url[$k +7] << 24));
$c += ($url[$k + 8] + ($url[$k + 9] << 8) + ($url[$k + 10] << 16) + ($url[$k +11] << 24));
$mix = $this->mix($a, $b, $c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len) {
case 11: $c += ($url[$k + 10] << 24);
case 10: $c += ($url[$k + 9] << 16);
case 9 : $c += ($url[$k + 8] << 8);
case 8 : $b += ($url[$k + 7] << 24);
case 7 : $b += ($url[$k + 6] << 16);
case 6 : $b += ($url[$k + 5] << 8);
case 5 : $b += ($url[$k + 4]);
case 4 : $a += ($url[$k + 3] << 24);
case 3 : $a += ($url[$k + 2] << 16);
case 2 : $a += ($url[$k + 1] << 8);
case 1 : $a += ($url[$k + 0]);
}
$mix = $this->mix($a, $b, $c);
return $mix[2];
}
function strord ($string) {
for($i = 0; $i < strlen($string); $i++) {
$result[$i] = ord($string{$i});
}
return $result;
}
}
?>
<body>
<div id="horizon">
<div id="content" style="color:darkblue;">
<center>
<FORM METHOD="GET" ACTION="./lookup.php">
<span style="color:darkblue;font-weight:700;">URL</span>: <INPUT name="url" width="40" style="width:200;margin-top:10;">
<INPUT TYPE="submit" VALUE=Lookup style="width:60;">
</FORM>
<TABLE BORDER=0>
<CAPTION>Lookup Data</CAPTION>
<TR><TH><?php echo $_GET['url']; ?></TH></TR>
<?php
$options = array(
'pagerank' => true,
'alexaRank' => true,
'backlinksGoogle' => true,
'backlinksYahoo' => true,
);
new pagerank(urldecode($_GET['url']), $options);
?>
</table>
</div>
</div>
<?php } ?>
__________________ |
| |
| | THREAD STARTER #5 (permalink) |
| NamePros Regular Join Date: Mar 2007
Posts: 203
![]() | That is a cool tool. I will add that one to my SEO site Should have posted this link in the first post I am trying to achieve the same look this site has ebizmba.com/articles/social30.html Just with fewer results.. Want to add it to a blog so at a glance I can see the stats of my sites |
| |
| | #6 (permalink) |
| Danltn.com Join Date: May 2007 Location: Danltn.com / Nottingham, UK
Posts: 1,201
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | If that's what you want, here: dataview.php PHP Code: PHP Code: PHP Code: PHP Code: PHP Code: If you put &data=on at the end of the URL, then it will output data in a fairly simple form, which is want you want I believe. Otherwise it will lead to the page where it can be viewed in full. Just try it out ![]() Example at http://mf1.us/lookup -- I'll post this in CODE forum later, if you like it, I like rep. = Feedback... please...?
__________________
Last edited by Danltn; 07-27-2007 at 07:48 AM.
|
| |
| | THREAD STARTER #7 (permalink) |
| NamePros Regular Join Date: Mar 2007
Posts: 203
![]() | That is cool. Thank you for your work. How long did it take to make this? If you ever revise this so the results ie. alexa rank 234,809 are clickable so if clicked it takes you to the corresponding page that would make this 100%. As it is this will work for my application though. Will keep an eye out for the upgrade ![]() With clickable result links it would be of benefit because you could see what quality of back links there are or in Alexa origin of traffic etc. I love it though Thank you.. I left some REP |
| |
| | #8 (permalink) |
| NamePros Regular Join Date: May 2006 Location: London, UK
Posts: 781
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Very good Dan. But any idea why the Google backlinks always show 0 on your example Example at http://mf1.us/lookup Rep added. - Vince |
| |
| | #10 (permalink) |
| Danltn.com Join Date: May 2007 Location: Danltn.com / Nottingham, UK
Posts: 1,201
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | http://mf1.us/lookup/index.php?url=h...F%2Fgoogle.com http://mf1.us/lookup/index.php?url=h...le.com&data=on They both work fine for me. ????: NamePros.com http://www.namepros.com/showthread.php?t=354612 It does show Google Backlinks. I'll make the Alexa rank number clickable within 2days, but I'm going paintballing down in London for the next 36 hours from the message. Bye. P.S. My full site is at http://mf1.us/ if you want to try it, use it by going to mf1.us/URL e.g. http://mf1.us/google.com
__________________ |
| |
| | #12 (permalink) |
| NamePros Regular Join Date: May 2006 Location: London, UK
Posts: 781
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Update: Seems that the same thing happens with other similar scripts; i.e. www.freewebrank.com From what I can tell, this issue i down to URL's with or without WWW. Hope that helps, - Vince |
| |
| | #13 (permalink) |
| Danltn.com Join Date: May 2007 Location: Danltn.com / Nottingham, UK
Posts: 1,201
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Vince, that is correct. I've been running a service like this for a while and realised it a while back. As to those updates I mentioned, I'll do those now. == EDIT == Script updates complete: As the script is getting a little large, you can download the whole thing here, much much easier. http://mf1.us/lookup/download There is a readme included, which is also posted below. Code: Updates: - Lots of bug fixes including fixes for when no URL is specified and no period (.) fixes - Created an "Out" page - Made the outputted data clickable, so they link to, for example http://www.alexa.com/data/details/traffic_details?q=&url=http://google.com - Made an system so example.com/URL e.g. http://mf1.us/lookup/google.com automatically does a search for "google.com" and displays the results on screen - Updated the form - Made it look nicer What you need to do - Open .htaccess in a text editor, change the following line: RewriteRule ^(.+)$ /lookup/?url=$1 [QSA,L] to RewriteRule ^(.+)$ /THE-FOLDER-WITH-THE-SCRIPT-IN/?url=$1 [QSA,L] If you have it saved in the public_html folder (or whatever your root folder is called for that URL) use the following RewriteRule ^(.+)$ /?url=$1 [QSA,L] ????: NamePros.com http://www.namepros.com/showthread.php?t=354612 http://mf1.us/lookup/
__________________
Last edited by Danltn; 07-29-2007 at 11:43 AM.
|
| |
| | THREAD STARTER #14 (permalink) |
| NamePros Regular Join Date: Mar 2007
Posts: 203
![]() | Thank you for the update. When the data is on in the form is it possible to get those result to be clickable? i.e. Pagerank: 5 Alexa Rank: 89,782 Google Backlinks: 31 Yahoo Backlinks: 16,493 One thing I have had an issue with is when using this line PHP Code: ????: NamePros.com http://www.namepros.com/showthread.php?t=354612 PHP Code: |
| |
| | #15 (permalink) |
| Danltn.com Join Date: May 2007 Location: Danltn.com / Nottingham, UK
Posts: 1,201
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | T D S http://www.namepros.com/code/355521-...ml#post2096952 Please post in this thread if you need any changes.
__________________ |
| |
| | #19 (permalink) |
| Danltn.com Join Date: May 2007 Location: Danltn.com / Nottingham, UK
Posts: 1,201
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Putting this into one index.php shouldn't be hard, I don't have the time - but if someone could do it that would be great.
__________________
Last edited by Danltn; 08-07-2007 at 11:53 PM.
|
| |