парсинг комментариев

Енот
Новичо́к, через «о́»
Регистрация
29 Сен 2019
Сообщения
271
#1
Всем привет, ребята. Такой вопрос, можно ли спарсить комментарии с чужого сайта на свой сайт? То есть комментарии другого чужого сайта перекинуть себе, не добавляя себе по одному.
 
Енот
Новичо́к, через «о́»
Регистрация
30 Мар 2018
Сообщения
138
#2
почему бы и нет))
както же эти комментарии сразу после установки сайта попадают в админку
https://github.com/CinemaPress/CinemaPress/blob/master/config/locales/ru/update/default.json#L53

так можно создать comm.js в папке сайта и запустить node comm.js чтобы все спарсенные комменты попали в админку

Код:
var CP_save = require("/lib/CP_save");
var md5 = require("md5");

const comments = [
  {
    comment_anonymous: "User 1",
    comment_title: "Название фильма 1",
    comment_text: "Текст комментария 1",
    comment_url: "/movie/id123456",
  },
  {
    comment_anonymous: "User 2",
    comment_title: "Название фильма 2",
    comment_text: "Текст комментария 2",
    comment_url: "/movie/id654321",
  },
];

comments.forEach((comment, i) => {
  let data = {};
  data.comment_anonymous = comment.comment_anonymous;
  data.comment_title = comment.comment_title;
  data.comment_text = comment.comment_text;
  data.comment_url = comment.comment_url;

  data.comment_ip = "127.0.0.1";
  data.comment_confirm = 1;
  data.comment_avatar =
    "/files/avatar/" + md5(comment.comment_anonymous) + ".svg";
  setTimeout(() => {
    CP_save.save(data, "comment", function (err) {
      if (err) return console.log(err);
      console.log("Комментарий " + i + " сохранен!");
    });
  }, 100 * i);
});
 
Енот
Новичо́к, через «о́»
Регистрация
30 Мар 2018
Сообщения
138
#3
можно сразу фейковый диалог с амином сделать
"comment_admin": "крутой коммент User 1 :)",
 
Енот
Новичо́к, через «о́»
Регистрация
30 Мар 2018
Сообщения
138
#5
А как парсить? Все равно же в ручную надо прописывать:ROFLMAO:
та 21-й век на дворе, кто что-то делает руками))

вот распарсил все комментарии сразу с двух сайтов и добавил себе

Код:
const comments = [];

const cheerio = require("cheerio");
const axios = require("axios");

const startUrls = [
  "https://kinogo.biz/52866-doktor-strjendzh-i-multivselennaja-bezumija.html",
  "https://kinogo.cc/82551-doktor-strjendzh-i-multivselennaja-bezumija-2022.html",
];

// this might be called a "middleware" in scrapy.
const get = async (url) => {
  const response = await axios.get(url);
  return cheerio.load(response.data);
};

// this too.
const output = (item) => {
  comments.push(item);
};

// here is parse which is the initial scrapy callback
const parse = async (url) => {
  const $ = await get(url);
  output({
    comment_anonymous: "cosmos",
    comment_title: $("title").text(),
    comment_text: $(".comentarii").text(),
    comment_url: "/movie/id1219909",
  });
};

// and here is the main execution
startUrls.map((url) => parse(url));

console.log(comments);
 
Енот
Новичо́к, через «о́»
Регистрация
30 Мар 2018
Сообщения
138
#6
2 сайта только изза того что там дизайн такой же и класс .comentarii есть и там и там
вообще под каждый парсинг сайта свой класс комментария
 
Енот
Новичо́к, через «о́»
Регистрация
29 Сен 2019
Сообщения
271
#7
2 сайта только изза того что там дизайн такой же и класс .comentarii есть и там и там
вообще под каждый парсинг сайта свой класс комментария
Эх блин я тупенький:ROFLMAO: Боюсь сломаю:cry: У меня стоит дефолтная система комментирования
 
Енот
Новичо́к, через «о́»
Регистрация
29 Сен 2019
Сообщения
271
#8
2 сайта только изза того что там дизайн такой же и класс .comentarii есть и там и там
вообще под каждый парсинг сайта свой класс комментария
Не знаешь есть ли сервис, который позволит затестить этот скрипт? А то я боюсь что-нибудь неверно сделаю:(
 
Енот
Новичо́к, через «о́»
Регистрация
30 Мар 2018
Сообщения
138
#9
изи катка)))
этот код вставить и запустить run

https://npm.runkit.com/cheerio

Код:
const comments = [];

const cheerio = require("cheerio");
const axios = require("axios");

const startUrls = [
  "https://kinogo.biz/52866-doktor-strjendzh-i-multivselennaja-bezumija.html",
  "https://kinogo.cc/82551-doktor-strjendzh-i-multivselennaja-bezumija-2022.html",
];

// this might be called a "middleware" in scrapy.
const get = async (url) => {
  const response = await axios.get(url);
  return cheerio.load(response.data);
};

// this too.
const output = (item) => {
  comments.push(item);
};

// here is parse which is the initial scrapy callback
const parse = async (url) => {
  const $ = await get(url);
  $('.comentarii').each((_, e) => {
      output({
        comment_anonymous: "cosmos",
        comment_title: $("title").text(),
        comment_text: $(e).text().replace(/(\s+)/g, ' '),
        comment_url: "/movie/id1219909",
      });
  });
  console.log(comments);
};

// and here is the main execution
startUrls.map((url) => parse(url));
100 комментариев за секунду можно добавить

1657293750151.png

этот код формирует json который уже потом добавляется на сайт
 
Енот
Новичо́к, через «о́»
Регистрация
29 Сен 2019
Сообщения
271
#10
изи катка)))
этот код вставить и запустить run

https://npm.runkit.com/cheerio

Код:
const comments = [];

const cheerio = require("cheerio");
const axios = require("axios");

const startUrls = [
  "https://kinogo.biz/52866-doktor-strjendzh-i-multivselennaja-bezumija.html",
  "https://kinogo.cc/82551-doktor-strjendzh-i-multivselennaja-bezumija-2022.html",
];

// this might be called a "middleware" in scrapy.
const get = async (url) => {
  const response = await axios.get(url);
  return cheerio.load(response.data);
};

// this too.
const output = (item) => {
  comments.push(item);
};

// here is parse which is the initial scrapy callback
const parse = async (url) => {
  const $ = await get(url);
  $('.comentarii').each((_, e) => {
      output({
        comment_anonymous: "cosmos",
        comment_title: $("title").text(),
        comment_text: $(e).text().replace(/(\s+)/g, ' '),
        comment_url: "/movie/id1219909",
      });
  });
  console.log(comments);
};

// and here is the main execution
startUrls.map((url) => parse(url));
100 комментариев за секунду можно добавить

Посмотреть вложение 6585

этот код формирует json который уже потом добавляется на сайт
Блин, ты мозг(y)
 
Похожие темы Раздел Ответов Дата
SEO 2
Контент 4
Контент 13