Скрипт для Greasemonkey для извлечения ASIN с amazon.com
Работу можно получить, даже если часовая ставка в 4 раза превышает ту, что хочет заказчик
Сегодня (вернее, уже вчера) мне попался заказчик, которому нужен был скрипт для Greasemonkey, который бы мог вытаскивать ASIN из URL'ов на amazon.com и отображать их. Задачка довольно простая, но подобный тип задач встречается довольно часто. Поэтому привожу готовое решение. // ==UserScript== // @name Amazon ASIN Extractor // @namespace http://sjinks.org.ua/ // @include http://www.amazon.com/* // @include http://amazon.com/* [...]
← Вернуться к полной версии записи «Скрипт для Greasemonkey для извлечения ASIN с amazon.com»…
Автор: Vladimir; опубликовано в: JavaScript; метки: Greasemonkey, JavaScript, XPathАпр
2008
Комментарии к статье «Скрипт для Greasemonkey для извлечения ASIN с amazon.com» (6) »
Пожалуйста, не используйте эту форму для комментирования! Данная форма предназначена исключительно для ботов.
Оставить комментарий к записи «Скрипт для Greasemonkey для извлечения ASIN с amazon.com»
गते गते पारगते पारसंगते बोधि स्वाहा
Меня зовут Владимир, я программист-фрилансер, специализирующийся на Web-программировании и програмировании под Linux.
По совместительству занимаюсь администрированием LAMP/LNMP-серверов и техническим переводом.


[...] я уже приводил пример скрипта для извлечения ASIN с amazon.com. Здесь используется нечто [...]
скрипт режет абистоп до одной цитаты
Я так понимаю, что комментарий не к той статье?
По поводу BOR: я поправил скрипт, чтобы он не трогал
abysstop/abyssbest— структура страницы на них немного другая.А как он работает?
Не пойму что с ним делать.
Инсталлировал в Greasemonkey.
Зашел например на
http://www.amazon.com/dp/B0001VSA3MGreasemonkey не показывает никакие команды.
А можете написать серверный скрипт, который обходит все урлы /dp/*
и складывает асины в файл, ну или на экран?
С тех пор поменялся формат записей. Старое выражение XPath не подходит.
Я немного изменил скрипт:
// @name Amazon ASIN Extractor
// @namespace http://sjinks.org.ua/
// @include http://www.amazon.com/*
// @include http://amazon.com/*
// ==/UserScript==
var links = document.evaluate(
'(//div[contains(@id, "ns_")]/a[contains(@href, "/gp/product/")])|(//strong[@class="sans"]/a[contains(@href, "/gp/product/")])|(//td[@class="dataColumn"]//td/a[contains(@href, "/gp/product/")])',
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null
);
for (var i=0; i<links.snapshotLength; ++i) {
var a = links.snapshotItem(i);
var href = a.getAttribute('href');
var t = href.match(/\/gp\/product\/([A-Z0-9]{10})\//);
if ('undefined' != typeof t[1] && 10 == t[1].length) {
var div = document.createElement('div');
var strong = document.createElement('strong');
strong.appendChild(document.createTextNode('ASIN: '));
div.appendChild(strong);
div.appendChild(document.createTextNode(t[1]));
div.style.lineHeight = '1em';
div.style.position = 'relative';
div.style.background = '#FFF';
a.parentNode.insertBefore(div, a.nextSibling);
}
}
Поставьте и зайдите на amazon.com, увидите ASIN’ы