Шукайте через всю історію Skype


20

Як шукати заданий рядок у всіх історіях чату?
СTRL + F - пошук у одному чаті, але у мене їх багато, тому я хочу знайти щось у всіх збережених чатах?


4
Знання вашої операційної системи допоможе!
slhck

Відповіді:


24

У списку контактів або в списку Останні просто натисніть контакт або групу, для якої потрібно переглянути історію розмов, і відобразиться історія ваших розмов.

Файл бази даних main.db, де зберігається вся історія чатів. main.db - це стандартний файл бази даних SQLite і його можна відкрити за допомогою будь-якої програми браузера SQLite. Однак є безкоштовна програма, яка спеціально призначена для зчитування даних чату та дзвінків Skype - SkypeLogView .

Файл main.db зберігається в одному з наступних (залежно від ОС).

У Windows 7 +: C:\Users\%USERNAME%\AppData\Roaming\Skype\[Skype User Name]

У Windows XP: C:\Documents and Settings\%USERNAME%\Application Data\Skype\[Skype User Name]

Далі слід працювати на всіх версіях Windows, ви можете скопіювати це у підказку Run:

%APPDATA%\Skype \[Skype User Name]

У Mac OS X: Library/Application Support/Skype/[Skype User Name]

На майбутнє ви можете розглянути SkyHistory


2
SkypeLogView - допомагає мені, дуже приємний інструмент.
com

3
SkyHistory все ще працює з останнім скайпом. Спасибі!
Вадим

Дякуємо за посилання на сторонні інструменти. Я вважаю, що пошук у самій Skype кульгавий - деякі старі періоди часу в чаті іноді згортаються, і Skype ігнорує їх під час пошуку. Мені потрібно спершу прокрутити чат і розгорнути всі згорнуті періоди, і лише потім я можу знайти текст, який раніше був прихований в одному з цих періодів, що згорнулися.
JustAMartin

1
Подумайте про заміну [USER NAME]на %USERNAME%так, щоб ваш шлях став копіювати / вставляти. Також "Ім'я Skype" було для мене неоднозначним (думав, що це версія Skype чи щось таке O_o), я б оновив до "Ім'я користувача Skype"
Бальміпур

1
Здається, відповідь застаріла. Хтось знає спосіб вишукувати історію Skype у 2019 році?
userlond

7

Skyperious також, можливо, варто перевірити. Він має декілька можливостей над SkypeLogView, як-от

  • Імпортуйте контакти з CSV-файлу до своїх контактів Skype
  • Перегляньте будь-яку таблицю бази даних та експортуйте їх дані
  • Змінення, додавання або видалення даних у будь-якій таблиці
  • Виконати прямі запити SQL
  • Синхронізуйте повідомлення в двох базах даних Skype: оновлюйте історію чатів на різних комп’ютерах або відновлюйте відсутні файли з старих файлів у поточні
  • Статистика чату

Я просто використав Skyperious знову для пошуку слова, яке я знав, що використовував у розмові років тому, але забув людину, з якою я розмовляв. Це зайняло б віки, якби я спробував натиснути на кожне окреме ім’я та шукати термін. Дякую, Боже.
Джон Грах

7

Написання власних запитів SQL, використовуючи, наприклад, SqliteBrowser для пошуку в базі даних Skype, дозволяє отримати більшу гнучкість та функціональність, ніж використання стороннього інструменту для скайпу.

Наприклад, цей запит буде шукати текстовий рядок у всіх ваших чатах та відображатиме (місцевий) час опублікування повідомлення, саме повідомлення, назву чату (якщо воно має ім’я) та хто в балакати.

select DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime') as postedon, c.displayname as chatname, m.from_dispname as fromuser, m.body_xml as msgtext
from Messages m
INNER JOIN Conversations c ON m.convo_id = c.id
where m.body_xml LIKE '%my text%' --case insensitive
order by m.timestamp DESC

це не працює (0 рядків повернуто) у моїй поточній версії Skype (7.33.0.105)
Facundo Colombier

@Facundo: Я просто спробував його знову з 7.34.0.102, і він все ще працює для мене. Переконайтеся, що рядок "% мій текст%" змінено на те, що ви шукаєте (або прокоментуйте цей рядок).
twasbrillig

@Facundo: я виявив свою помилку; Я приєднувався до неправильної таблиці. Спробуйте ще раз з оновленим сценарієм вище.
twasbrillig

3

Нещодавно я знайшов приємний онлайн-інструмент для перегляду історії Skype: http://www.skypebrowser.com

Здається, найкращим рішенням, якщо вас не турбують проблеми конфіденційності.


1

Наступні запити на main.db для мене працюють:

Знаходить групові чати

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), c.id, m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE c.type = 2 AND
m.body_xml NOT NULL
ORDER BY m.timestamp ASC

Знаходить приватний чат зі своїм приятелем

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE m.body_xml NOT NULL AND
c.identity LIKE '%YOUR.BUDDY.NAME.HERE%' --case insensitive
ORDER BY m.timestamp ASC

У приватному чаті з вашим приятелем знаходить дане слово

SELECT DISTINCT datetime(m.timestamp, 'unixepoch', 'localtime'), m.author, m.body_xml FROM
messages m
JOIN conversations c ON c.id = m.convo_id
WHERE c.identity = 'YOUR.BUDDY.NAME.HERE' AND
m.body_xml NOT NULL AND
m.body_xml LIKE '%YOUR.SEARCHED.WORD.HERE%' --case insensitive
ORDER BY m.timestamp ASC

PS: іноді ім’я вашого друга може бути іншим, ніж воно відображається в скайпі, тому спочатку перевірте це:

SELECT identity, displayname FROM conversations

і забрати один із identityстовпців


1

SkyHistory не працював для мене - схоже, він не був розроблений для 68 Мб скайп-журналів:)

Один з найпотужніших підходів - це також дуже простий - просто використовуйте клієнт SQLite. Тут я написав простий посібник: http://jehy.ru/articles/2014/05/26/searching-through-skype-history/

Якщо у вас більше 300 контактів, і вони ведуть розбіжності, що перетинаються - ви розумієте, що простого підходу Ctrl + F знайти неможливо.

На щастя, Skype використовує базу даних SQLite, і ми можемо зробити пряме підключення до неї та пошук там безпосередньо. Отже, вам потрібно:

1) Завантажте клієнт SQLite (я використовував http://sqlitebrowser.org/, але ви можете встановити будь-який клієнт, який вам подобається)

Утримуйте клавішу Windows Клавіша Windows на клавіатурі, а потім натисніть клавішу R, щоб відкрити вікно запуску. Якщо ви використовуєте пристрій із сенсорним екраном у Windows 8, ви можете відкрити вікно Запуск із шарму пошуку. Введіть% appdata% \ Skype у вікно Run та натисніть Enter. Відкрийте папку, названу по імені Skype. Знайдіть файл main.db у папці, цей файл - ваша історія чату.

3) Використовуйте клієнт SQLite, щоб відкрити цей файл. 4) Відкрийте таблицю бази даних «повідомлення» 5) Використовуйте будь-які запити SQL, які ви хочете шукати потрібне повідомлення. Ось приклад того, як я шукаю слово "git" у розмовах - але є багато полів, які ви можете використовувати для пошуку та замовлення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.