attractorr icon indicating copy to clipboard operation
attractorr copied to clipboard

[Feature Request] Adapt new sources from qbittorrent's search plugins

Open jtrv opened this issue 2 years ago • 4 comments

https://github.com/qbittorrent/search-plugins/wiki/Unofficial-search-plugins

In my testing the best of these sources seems to be

  • [x] torrents-csv (#122)
  • [ ] limetorrents
  • [ ] torrentproject2

jtrv avatar Jan 27 '23 01:01 jtrv

torrent-csv should be fairly easy to add, since it is just another JSON API: https://github.com/qbittorrent/search-plugins/blob/master/nova3/engines/torrentscsv.py

The other two look like HTML parsing is necessary.

rnestler avatar Jan 27 '23 15:01 rnestler

I hadn't looked at the code yet, that's great to know! In my experience torrent-csv usually nets the best results too, so that's a perfect low-hanging fruit. I might take a crack at it since I'm learning Rust.

Would you be open to the inclusion of an html parser in this project for other sources? Or is there a preferred html parsing crate I should use?

jtrv avatar Jan 27 '23 21:01 jtrv

I hadn't looked at the code yet, that's great to know! In my experience torrent-csv usually nets the best results too, so that's a perfect low-hanging fruit. I might take a crack at it since I'm learning Rust.

Take a look at https://github.com/rnestler/attractorr/blob/master/src/search_providers/pirate_bay_search.rs which is a quite simple api.

For YTS I implemented it in a separate crate: https://github.com/rnestler/yts-api-rs but I'm not sure if this is really worth it.

Would you be open to the inclusion of an html parser in this project for other sources? Or is there a preferred html parsing crate I should use?

Until https://github.com/rnestler/attractorr/pull/38 we used https://crates.io/crates/select for HTML parsing for pirate bay which I found quite nice to use.

rnestler avatar Jan 30 '23 10:01 rnestler

Jackett is probably the best project to target for the best searchability, but it might be outside the scope of this project and require a new dedicated project. https://github.com/Jackett/Jackett

ShayBox avatar Dec 15 '23 15:12 ShayBox