billypelegrini

billypelegrini
Рейтинг
47
Регистрация
20.02.2019

Вчера учил промисы с новым асинком и научился писать матерные предложения на ES6/7, он это позволяет делать, я серьёзно ))

XPraptor, с другой стороны, не совсем понятен твой метод отсева ботов, вчара анализировал как работает клоудфлар и вспомнил как кнопками с задержкой обходили бан, по итогу бот не ждёт как пользователь, а то что ты накрутил с событиями...не думаю что это настолько надёжно работает, по крайней мере кнопка с задержкой работала нормально и клоадфлар тоже работает и именно за счёт таймаута. Если хорошо разираешься в JS неплохо было бы если бы показал как из mysqljs синхронно вытаскивать возврат, потому что писать эти небоскрёбы из колбэков не вариант.


const axios = require('axios')
const Nightmare = require('nightmare')
const cheerio = require('cheerio')
const fs = require('fs')
const mysql = require('mysql')

const nightmare = Nightmare({
show: true,
gotoTimeout: 30 * 1000, // in ms
waitTimeout: 30 * 1000 // in ms
});

const url3 = 'https://site.com/';
function nightmareGetPage2(url) {
nightmare
.goto(url)
.wait('body')
.evaluate(() => document.querySelector('body').innerHTML)
.end()
.wait(10 * 1000)
.then(responce => {
console.log(getData(responce));
})
.catch(err => {
console.log(err);
});
}

nightmareGetPage2(url3)

Парсит сайт с клаудфларом, поднимался вопрос недавно, типа клауд нереально пропарсить и всё такое... реально.

---------- Добавлено 23.10.2019 в 10:53 ----------

Twickbot:
Любая программа использует "кучу библиотек".

Ну прекрати эти жалкие демагогии, тебе пытаются пояснить что твоя программа обычная обёртка над API Selenium Server, на что ты срываешься к странную полемику класса демагогии о прописных истинах))

Мой "бот" с хорошей архитектурой и вакуумом говорит что тебе стоит попить сока вчерашних арбузиков и успокоится ))

Спасибо за ценную информацию, я и не подозревал об этом!!

XPraptor, понимаешь... как бы тебе объяснить, на самом деле существует всего один достоверный признак, позволяющий однозначно отличить бота от человека, если этот бот конечно не чья-нибудь содержанка ))

#Step6.3

Для продолжения для работы с Wordpress необхимо начать работу с mySQL, а это стандартный модуль, да можно было бы использовать старые функции, но зачем если современное программирование состоит на 90% из умения работать с официальной докумментацией. Почему именно официальной с сайтов издателей? Потому что иначе в современном мире лулзов и дезинформации вам просто бы забили голову всяким бредом.

Далее необходимо будет подключить данный модуль, установить вордпресс локально и перенаправить хранилище в которое сохраняется текст в него.

https://github.com/mysqljs/mysql

#Step 6.2

Прежде чем начать заниматься адским трэшем с современной разработкой предлагаю допилить первый скрипт до уровня спина/доргена с отгрузкой в вордпресс, там осталось буквально 2 шага дописать, в итоге кому не интересно -- будут юзать и допиливать скрипт допотопной версии, оценят компактность кода ноД итд... остальные гоу на следующий уровень с микросервисной архитектурой))

#Step 7.1

Раскидав проект по модулям с export/import получаем такую фигню в консоль:

\parser\app.js:13
import { bar, foo } from './se/google';
^

SyntaxError: Unexpected token {
at Module._compile (internal/modules/cjs/loader.js:872:18)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:947:10)
at Module.load (internal/modules/cjs/loader.js:790:32)
at Function.Module._load (internal/modules/cjs/loader.js:703:12)
at Function.Module.runMain (internal/modules/cjs/loader.js:999:10)
at internal/main/run_main_module.js:17:11

Этот баг возникает по причине того что Node по прежнему не научился работать с ES6 синтаксисом (es5/es6/es7 -- разные спецификации яваскрипта,то есть у него как и у явы версионный хэлл своего рода). Из-за этой фигни с синтаксисами в модном яваскрипте появилось тоже очень модное слово -- "транспиллер", и этот тоже модный префикс "транс", вбщем он перепиливает код в синтаксис допотопного ES5 который понимают бровсеры и не тупит нодЭ. Чтобы осилить следующий шаг нужно поставить попсовый транспиллер -- это бабел (Babel). Ставим эту херню:

npm i --save-dev @babel/core @babel/cli @babel/node @babel/preset-env
MkrtElion:
попахивает синдромом вахтера

Понимаете, на мой взгляд затонутая в данной "перепалке" проблематика намного шире чем то что назыаают вахтёрством, дело в том что все приоритеты управления и власти они так или иначе имеют технологическую форму, а в данном топике идёт последовательное раскрытие современных технологий, чему конфликтующий товарищ пытается всеми способами препятствовать.

Всего: 466