ivan386 / Shareaza

Shareaza is a peer-to-peer client for Windows that allows you to download any file-type found on several popular P2P networks.
http://shareaza.sf.net
119 stars 42 forks source link

How to read data from Searches.dat ? #3

Open aratnitsyn opened 6 years ago

aratnitsyn commented 6 years ago

How to read data from Searches.dat and withdraw them?

Russian: Как можно прочитать данные из файла Searches.dat ? Я хочу вывести эти данные, я так понимаю в файле хранятся те найденный данные которые нашёл поиск. Пробовал вывести путём CArchive, но не получилось.

ivan386 commented 6 years ago

Да там хранится содержимое окон поиска. Можно запустить клиент выделить все результаты поиска окне и в контекстном меню выбрать "Экспорт ссылок..."

Если нужны ссылки с источниками то нужно предварительно раскрыть все результаты а потом выделить.

Можно использовать такой шаблон: [Magnet]&as=[Link]

Есть также скрипт который можете попробовать доработать https://github.com/fmpfeifer/ShareazaParser

ivan386 commented 6 years ago

Доработал скрипт: https://github.com/ivan386/ShareazaParser

aratnitsyn commented 6 years ago

Отличный скрипт спасибо. Но при использовании, выкидывает:

<class 'TypeError'>
("a bytes-like object is required, not 'str'",)
a bytes-like object is required, not 'str'
  File "Parser.py", line 1309, in main
    s.serialize(parser)
  File "Parser.py", line 780, in serialize
    s.serialize(ar)
  File "Parser.py", line 757, in serialize
    s.serialize(ar)
  File "Parser.py", line 717, in serialize
    self.querySearch.serialize(ar)
  File "Parser.py", line 334, in serialize
    self.sha1 = ar.read_hash(20)
  File "Parser.py", line 191, in read_hash
    return encoders[encoder](ret)
  File "Parser.py", line 53, in encode_hex
    return base64.b16encode(s)
  File "C:\Program Files\Python37\lib\base64.py", line 257, in b16encode
    return binascii.hexlify(s).upper()
No file found for parsing. Make sure Searches.dat, Library1.dat or Library2.dat is in current directory.
ivan386 commented 6 years ago

Нужен питон версии 2.x У меня 2.7