В А-Парсере есть парсер
Rank::OpenSiteExplorer. Но он возвращает лишь некоторые параметры. Если смотреть на сайте, то их значительно больше, например Spam Score, Total Internal/External Links, MozRank, MozTrust и другие. Полный список параметров можно увидеть здесь.
Для того, чтобы все это парсить, нужно найти запрос, по которому возвращается данная информация. Проанализируем работу сайта с помощью любого дебаггера. В частности интересует загрузка информации на этой странице. После анализа увидим такой запрос:
Данный запрос возвращает данные в JSON, а благодаря tools.parseJSON нам не составит труда извлечь нужные параметры.
Но на moz.com существует ограничение - 10 запросов с одного IP в сутки без авторизации. Данная проблема частично решается использованием прокси, но на большом кол-ве проверяемых сайтов это может вызвать проблемы. Поэтому логичным будет парсинг с авторизацией.
Обычно за авторизацию отвечает один или несколько куков. Немного потестировав полученный ранее запрос, мы обнаружим, что здесь это mozauth. И приходит он после авторизации на сайте.
Исходя из всего, что описано выше, вся логика парсинга сводится к двум этапам:
P.S. Данным методом вполне возможен парсинг без прокси. Но существует риск получить бан аккаунта или IP.
Для того, чтобы все это парсить, нужно найти запрос, по которому возвращается данная информация. Проанализируем работу сайта с помощью любого дебаггера. В частности интересует загрузка информации на этой странице. После анализа увидим такой запрос:
Код:
https://moz.com/researchtools/ose/api/comparisons?site=a-parser.com
Но на moz.com существует ограничение - 10 запросов с одного IP в сутки без авторизации. Данная проблема частично решается использованием прокси, но на большом кол-ве проверяемых сайтов это может вызвать проблемы. Поэтому логичным будет парсинг с авторизацией.
Обычно за авторизацию отвечает один или несколько куков. Немного потестировав полученный ранее запрос, мы обнаружим, что здесь это mozauth. И приходит он после авторизации на сайте.
Исходя из всего, что описано выше, вся логика парсинга сводится к двум этапам:
- Получаем mozauth, авторизуясь на сайте
- Парсим нужную информацию, подставляя в куки полученный ранее mozauth
Код:
eyJwcmVzZXQiOiJNT1ogR2V0IGF1dGgiLCJ2YWx1ZSI6eyJwcmVzZXQiOiJNT1og
R2V0IGF1dGgiLCJwYXJzZXJzIjpbWyJOZXQ6OkhUVFAiLCJkZWZhdWx0Iix7InR5
cGUiOiJvdmVycmlkZSIsImlkIjoiZ29vZENvZGUiLCJ2YWx1ZSI6WzMwMiw0MDNd
fSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoicmVjdXJzZSIsInZhbHVlIjoiMCJ9
LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZvcm1hdCIsInZhbHVlIjoi
aHR0cHM6Ly9tb3ouY29tL2xvZ2luIn0seyJ0eXBlIjoib3ZlcnJpZGUiLCJpZCI6
Im1ldGhvZCIsInZhbHVlIjoiUE9TVCJ9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQi
OiJib2R5IiwidmFsdWUiOiJkYXRhW1VzZXJdW3JlZGlyZWN0XT0vaG9tZSZkYXRh
W1VzZXJdW2xvZ2luX2VtYWlsXT0kcXVlcnkubG9naW4mZGF0YVtVc2VyXVtwYXNz
d29yZF09JHF1ZXJ5LnBhc3N3b3JkIn0seyJ0eXBlIjoiY3VzdG9tUmVzdWx0Iiwi
cmVzdWx0IjoiaGVhZGVycyIsInJlZ2V4IjoibW96YXV0aD0oLis/KSg/Ojt8JCki
LCJyZWdleFR5cGUiOiIiLCJyZXN1bHRUeXBlIjoiZmxhdCIsImFycmF5TmFtZSI6
IiIsInJlc3VsdHMiOlsia2V5Il19LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJv
bmx5aGVhZGVycyIsInZhbHVlIjp0cnVlfV1dLCJyZXN1bHRzRm9ybWF0IjoiWyUg
SUYgcDEuY29kZSA9PSAzMDI7XG5cdHAxLmtleTtcbkVMU0U7XG5cdCdBdXRob3Jp
emF0aW9uIGVycm9yJztcbkVORCAlXSIsInJlc3VsdHNTYXZlVG8iOiJmaWxlIiwi
cmVzdWx0c0ZpbGVOYW1lIjoiJGRhdGVmaWxlLmZvcm1hdCgpLnR4dCIsImFkZGl0
aW9uYWxGb3JtYXRzIjpbXSwicmVzdWx0c1VuaXF1ZSI6Im5vIiwicXVlcnlGb3Jt
YXQiOlsiJHF1ZXJ5Il0sInVuaXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZlRmFpbGVk
UXVlcmllcyI6ZmFsc2UsIml0ZXJhdG9yT3B0aW9ucyI6eyJvbkFsbExldmVscyI6
ZmFsc2UsInF1ZXJ5QnVpbGRlcnNBZnRlckl0ZXJhdG9yIjpmYWxzZSwicXVlcnlC
dWlsZGVyc09uQWxsTGV2ZWxzIjpmYWxzZX0sInJlc3VsdHNPcHRpb25zIjp7Im92
ZXJ3cml0ZSI6ZmFsc2V9LCJkb0xvZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwi
bW9yZU9wdGlvbnMiOmZhbHNlLCJyZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNB
cHBlbmQiOiIiLCJxdWVyeUJ1aWxkZXJzIjpbeyJzb3VyY2UiOiJxdWVyeSIsInR5
cGUiOiJyZWdleCIsInJlZ2V4IjoiKFteJV0rKVxcfCguKykiLCJyZWdleFR5cGUi
Om51bGwsInRvIjpbImxvZ2luIiwicGFzc3dvcmQiXX1dLCJyZXN1bHRzQnVpbGRl
cnMiOltdLCJjb25maWdPdmVycmlkZXMiOltdLCJydW5UYXNrT25Db21wbGV0ZSI6
bnVsbCwidXNlUmVzdWx0c0ZpbGVBc1F1ZXJpZXNGaWxlIjpmYWxzZSwicnVuVGFz
a09uQ29tcGxldGVDb25maWciOiJkZWZhdWx0IiwidG9vbHNKUyI6IiJ9fQ==
- На вход нужно подать одну пару логин|пароль через разделитель |
Например: [email protected]|your_password - На выходе получим ключ авторизации mozauth
- Данный пресет достаточно запустить один раз перед запуском второго
Код:
eyJwcmVzZXQiOiJNT1ogd2l0aCBBY2NvdW50IiwidmFsdWUiOnsicHJlc2V0Ijoi
TU9aIHdpdGggQWNjb3VudCIsInBhcnNlcnMiOltbIk5ldDo6SFRUUCIsImRlZmF1
bHQiLHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZvcm1hdCIsInZhbHVl
IjoiaHR0cHM6Ly9tb3ouY29tL3Jlc2VhcmNodG9vbHMvb3NlL2FwaS9jb21wYXJp
c29ucz9zaXRlPSRxdWVyeSJ9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJjb29r
aWVzIiwidmFsdWUiOiJtb3phdXRoPVx1MDQxN1x1MDQxNFx1MDQxNVx1MDQyMVx1
MDQyYyBcdTA0MWRcdTA0MjNcdTA0MTZcdTA0MWRcdTA0MWUgXHUwNDIzXHUwNDFh
XHUwNDEwXHUwNDE3XHUwNDEwXHUwNDIyXHUwNDJjIE1PWkFVVEgifSx7InR5cGUi
OiJvdmVycmlkZSIsImlkIjoiZ29vZENvZGVSZWdleCIsInZhbHVlIjoiMjAwfDQy
MiJ9XV0sInJlc3VsdHNGb3JtYXQiOiJbJSBVU0UgTWF0aDtcbmpzb24gPSB0b29s
cy5wYXJzZUpTT04ocDEuZGF0YSk7XG5cbmRhID0ganNvbi5kYXRhLnJvb3RfZG9t
YWluLjAuZG9tYWluX2F1dGhvcml0eSA/IE1hdGguaW50KGpzb24uZGF0YS5yb290
X2RvbWFpbi4wLmRvbWFpbl9hdXRob3JpdHkgKyAwLjUpIDogJy0nO1xucGEgPSBq
c29uLmRhdGEucGFnZS4wLnBhZ2VfYXV0aG9yaXR5ID8gTWF0aC5pbnQoanNvbi5k
YXRhLnBhZ2UuMC5wYWdlX2F1dGhvcml0eSArIDAuNSkgOiAnLSc7XG5zcyA9IGpz
b24uZGF0YS5zdWJkb21haW4uMC5zcGFtX3Njb3JlID8ganNvbi5kYXRhLnN1YmRv
bWFpbi4wLnNwYW1fc2NvcmUgOiAnLSc7XG5cbnF1ZXJ5IF8gJyAtIERBOicgXyBk
YSBfICc7IFBBOicgXyBwYSBfICc7IFNwYW0gU2NvcmU6JyBfIHNzIF8gXCJcXG5c
IiAlXSIsInJlc3VsdHNTYXZlVG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1lIjoi
JGRhdGVmaWxlLmZvcm1hdCgpLnR4dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpbXSwi
cmVzdWx0c1VuaXF1ZSI6Im5vIiwicXVlcnlGb3JtYXQiOlsiJHF1ZXJ5Il0sInVu
aXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZlRmFpbGVkUXVlcmllcyI6dHJ1ZSwiaXRl
cmF0b3JPcHRpb25zIjp7Im9uQWxsTGV2ZWxzIjpmYWxzZSwicXVlcnlCdWlsZGVy
c0FmdGVySXRlcmF0b3IiOmZhbHNlLCJxdWVyeUJ1aWxkZXJzT25BbGxMZXZlbHMi
OmZhbHNlfSwicmVzdWx0c09wdGlvbnMiOnsib3ZlcndyaXRlIjpmYWxzZX0sImRv
TG9nIjoibm8iLCJrZWVwVW5pcXVlIjoiTm8iLCJtb3JlT3B0aW9ucyI6ZmFsc2Us
InJlc3VsdHNQcmVwZW5kIjoiIiwicmVzdWx0c0FwcGVuZCI6IiIsInF1ZXJ5QnVp
bGRlcnMiOltdLCJyZXN1bHRzQnVpbGRlcnMiOltdLCJjb25maWdPdmVycmlkZXMi
OltdLCJydW5UYXNrT25Db21wbGV0ZSI6bnVsbCwidXNlUmVzdWx0c0ZpbGVBc1F1
ZXJpZXNGaWxlIjpmYWxzZSwicnVuVGFza09uQ29tcGxldGVDb25maWciOiJkZWZh
dWx0IiwidG9vbHNKUyI6IiJ9fQ==
- На вход подаем список сайтов (страниц)
- В Cookies подставляем mozauth из предыдущего пресета
- По-умолчанию на выходе получаем список сайтов (страниц) с PA, DA, Spam Score
- Можно выводить любой набор параметров, изменив формат результата. Пример JSON с информацией для a-parser.com здесь
100 потоков, без прокси.
facebook.com - DA:100; PA:97; Spam Score:-
4pda.ru - DA:63; PA:69; Spam Score:3
a-parser.com - DA:20; PA:27; Spam Score:2
http://a-parser.com/threads/1738/ - DA:20; PA:15; Spam Score:2
microsoft.com - DA:100; PA:97; Spam Score:3
http://a-parser.com/forum/ - DA:20; PA:17; Spam Score:2
http://a-parser.com/wiki/index/ - DA:20; PA:17; Spam Score:2
google.com - DA:100; PA:97; Spam Score:2
P.S. Данным методом вполне возможен парсинг без прокси. Но существует риск получить бан аккаунта или IP.