- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Пишку програмку на VB NET для анализа статистики.
Может кто делал что то подобное - и знает как получать PR беки итд?
Я так понимаю все можно получить просто парся страничку - но может есть службы -или сервисы которые отдают эту инфу в нормальном ( хмл) формате??
В общем если кто может помочь советом - заранее спасибо.
класс для определения PR на C#
сори, ссылку где брал не помню, по-этому даю то, что нашел на локалке...
public class GooglePageRankGetter
{
private readonly uint _googleMagic = 0xE6359A60;
public GooglePageRankGetter()
{
}
public int GetPageRank(string url)
{
if (url.ToLower().StartsWith("http://") == false)
url = "http://" + url;
url = "info:" + url;
uint checksum = GetChecksum(url);
string googleUrl = "http://www.google.com/search?client=navclient-auto&ch=6" +
checksum + "&features=Rank&q=" + url;
string pageText = GetResponseText(googleUrl);
string pageRankString = "0";
Regex re = new Regex(":(?<1>\\d+)\\n", RegexOptions.Singleline | RegexOptions.IgnoreCase);
Match m = re.Match(pageText);
if (m.Success) pageRankString = m.Groups[1].ToString();
int pageRank = int.Parse(pageRankString);
return pageRank;
}
private uint GetChecksum(string url)
{
long a = 0x9E3779B9;
long b = a;
long c = _googleMagic;
int k = 0;
int len = url.Length;
while (len >= 12)
{
a += ((int) url[k + 0] + ((int) url[k + 1] << 8) + ((int) url[k + 2] << 16) + ((int) url[k + 3] << 24));
b += ((int) url[k + 4] + ((int) url[k + 5] << 8) + ((int) url[k + 6] << 16) + ((int) url[k + 7] << 24));
c += ((int) url[k + 8] + ((int) url[k + 9] << 8) + ((int) url[k + 10] << 16) + ((int) url[k + 11] << 24));
List<long> mix = Mix(a, b, c);
a = mix[0];
b = mix[1];
c = mix[2];
k += 12;
len -= 12;
}
c += url.Length;
switch (len)
{
case 11: c += ((int) url[k + 10] << 24); goto case 10;
case 10: c += ((int) url[k + 9] << 16); goto case 9;
case 9: c += ((int) url[k + 8] << 8); goto case 8;
case 8: b += ((int) url[k + 7] << 24); goto case 7;
case 7: b += ((int) url[k + 6] << 16); goto case 6;
case 6: b += ((int) url[k + 5] << 8); goto case 5;
case 5: b += ((int) url[k + 4]); goto case 4;
case 4: a += ((int) url[k + 3] << 24); goto case 3;
case 3: a += ((int) url[k + 2] << 16); goto case 2;
case 2: a += ((int) url[k + 1] << 8); goto case 1;
case 1: a += ((int) url[k + 0]); break;
}
List<long> mixx = Mix(a, b, c);
return (uint) mixx[2];
}
private List<long> Mix(long a, long b, long c)
{
a -= b; a -= c; a = (int) a ^ (ZeroFill(c, 13));
b -= c; b -= a; b ^= (int) a << 8;
c -= a; c -= b; c = (int) c ^ (ZeroFill(b, 13));
a -= b; a -= c; a = (int) a ^ (ZeroFill(c, 12));
b -= c; b -= a; b ^= (int) a << 16;
c -= a; c -= b; c = (int) c ^ (ZeroFill(b, 5));
a -= b; a -= c; a = (int) a ^ (ZeroFill(c, 3));
b -= c; b -= a; b ^= (int) a << 10;
c -= a; c -= b; c = (int) c ^ (ZeroFill(b, 15));
List<long> arr = new List<long>();
arr.Add(a);
arr.Add(b);
arr.Add(c);
return arr;
}
private long ZeroFill(long a, int b)
{
long z = 2147483648;
if ((z & a) > 0)
{
a = (int) a >> 1;
a = (int) a & (~z);
a = (int) a | 0x40000000;
a = (int) a >> (b - 1);
}
else
a = (int) a >> b;
return a;
}
private string GetResponseText(string url)
{
string pageText = "";
HttpWebRequest request = null;
WebResponse response = null;
System.IO.Stream stream = null;
System.IO.StreamReader reader = null;
try
{
request = (HttpWebRequest) WebRequest.Create(url);
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)";
request.Timeout = 4 * 1000;
response = request.GetResponse();
stream = response.GetResponseStream();
reader = new System.IO.StreamReader(
stream, System.Text.Encoding.GetEncoding(1251));
pageText = reader.ReadToEnd();
reader.Close();
response.Close();
}
catch (WebException) // Ошибка соединения, либо у Гугла нет информации о странице
{
}
finally
{
if (response != null) response.Close();
if (stream != null) stream.Close();
if (reader != null) reader.Close();
}
return pageText;
}
}
Alexander_fx, для Google есть Google API. 1000 запросов в сутки, XML.
Alexander_fx, для Google есть Google API. 1000 запросов в сутки, XML.
Вот непруха
Говорят что перестали подключать к этой фене. всех на ajax посылают.
И в догонку - подкажите кто нибудь - как беки сосчитать?