- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Пишку програмку на 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 посылают.
И в догонку - подкажите кто нибудь - как беки сосчитать?