парсинг вроде без капчи, работают операторы, единственная проблема - работает это добро на яваскрипте, поэтому в адресной строке даже при отправке изначального запроса ничего не отображается
Там прямо на странице есть ссылка на получение результатов поиска. Вот к примеру: http://searx.me/?q=тест&format=json&category_general=1&pageno=1 Получаем результат в json, разбираем его с помощью tools.parseJSON и готово...
а json вот этого разбирается нормально ? я имею ввиду сниппеты русскоязычные там не как у людей отображаются
Вот простенький пример: Спойлер: Код для импорта Код: eyJwcmVzZXQiOiJzZWFyeC5tZSIsInZhbHVlIjp7InByZXNldCI6InNlYXJ4Lm1l IiwicGFyc2VycyI6W1siTmV0OjpIVFRQIiwiZGVmYXVsdCIseyJ0eXBlIjoib3Zl cnJpZGUiLCJpZCI6InF1ZXJ5Zm9ybWF0IiwidmFsdWUiOiJodHRwOi8vc2Vhcngu bWUvP3E9JHF1ZXJ5JmZvcm1hdD1qc29uJmNhdGVnb3J5X2dlbmVyYWw9MSZwYWdl bm89JHBhZ2VudW0ifSx7InR5cGUiOiJvdmVycmlkZSIsImlkIjoiZm9ybWF0cmVz dWx0IiwidmFsdWUiOiJbJSBGT1JFQUNIIHBhZ2VzO1xuICAgIGpzb24gPSB0b29s cy5wYXJzZUpTT04oZGF0YSk7XG4gICAgRk9SRUFDSCBqc29uLnJlc3VsdHM7XG4g ICAgICAgIHRpdGxlIF8gJyAoJyBfIGVuZ2luZSBfICcpJyBfIFwiXFxuXCI7XG4g ICAgICAgIHVybCBfIFwiXFxuXCI7XG4gICAgICAgIGNvbnRlbnQgXyBcIlxcblxc blwiO1xuICAgIEVORDtcbkVORCAlXSJ9LHsidHlwZSI6Im9wdGlvbnMiLCJpZCI6 InVzZVBhZ2VzIiwidmFsdWUiOiIxIiwiYWRkaXRpb25hbCI6eyJwYWdlc1N0ZXAi OiIxIiwicGFnZWNvdW50IjoiMTAifX0seyJ0eXBlIjoib3ZlcnJpZGUiLCJpZCI6 Imdvb2RDb2RlIiwidmFsdWUiOlsyMDBdfV1dLCJyZXN1bHRzRm9ybWF0IjoiJHAx LnByZXNldCIsInJlc3VsdHNTYXZlVG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1l IjoiJGRhdGVmaWxlLmZvcm1hdCgpLnR4dCIsImFkZGl0aW9uYWxGb3JtYXRzIjpb XSwicmVzdWx0c1VuaXF1ZSI6Im5vIiwicXVlcnlGb3JtYXQiOlsiJHF1ZXJ5Il0s InVuaXF1ZVF1ZXJpZXMiOmZhbHNlLCJzYXZlRmFpbGVkUXVlcmllcyI6ZmFsc2Us Iml0ZXJhdG9yT3B0aW9ucyI6eyJvbkFsbExldmVscyI6ZmFsc2UsInF1ZXJ5QnVp bGRlcnNBZnRlckl0ZXJhdG9yIjpmYWxzZSwicXVlcnlCdWlsZGVyc09uQWxsTGV2 ZWxzIjpmYWxzZX0sInJlc3VsdHNPcHRpb25zIjp7Im92ZXJ3cml0ZSI6ZmFsc2V9 LCJkb0xvZyI6Im5vIiwia2VlcFVuaXF1ZSI6Ik5vIiwibW9yZU9wdGlvbnMiOmZh bHNlLCJyZXN1bHRzUHJlcGVuZCI6IiIsInJlc3VsdHNBcHBlbmQiOiIiLCJxdWVy eUJ1aWxkZXJzIjpbXSwicmVzdWx0c0J1aWxkZXJzIjpbXSwiY29uZmlnT3ZlcnJp ZGVzIjpbXX19 P.S. Хотел протестировать на скорость, но под нагрузкой в 300 потоков сервис лёг... P.P.S. И под 100 потоков тоже перестает отвечать...
благодарю ) а можно какую-нибудь ссылку на более-менее понятную литературу по этому самому тулкиту, а то вообще не получается понять что там куда.. вот например так и не понял, в какую переменную записываются сами урлы, чтобы потом из них извлечь домены для уникализации по домену.. и ещё, этих поисковиков несколько. не работает один - можно заменить линк и юзать другой ))
Как видно из пресета, разбор JSON делается в формате результата, поэтому стандартную уникализацию по домену применить не получится (Порядок обработки запросов). Можно только уник по строке. Урлы не записываются в переменную, они берутся прямо из JSON. Как вариант - можно реализовать свою уникализацию, используя возможности шаблонизатора, прямо в формате результата (хотя это может привести к нестабильной работе при длительном парсинге). Шаблонизатор Template Toolkit $tools.parseJSON - разбор JSON структур Второй вариант - использовать ссылку на поиск в формате CSV или RSS (сервис предоставляет такую возможность), парсить регулярками и применять уникализацию как обычно.