{"id":15532390,"url":"https://github.com/traut/feeds2fb2","last_synced_at":"2025-07-07T07:07:41.619Z","repository":{"id":30138100,"uuid":"33688183","full_name":"traut/feeds2fb2","owner":"traut","description":"Convert RSS/Atom feeds into fb2 book","archived":false,"fork":false,"pushed_at":"2015-04-09T19:44:50.000Z","size":200,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-03T08:51:08.591Z","etag":null,"topics":["fb2","fb2-book","opml","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/traut.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-09T19:28:06.000Z","updated_at":"2020-03-06T14:25:03.000Z","dependencies_parsed_at":"2022-08-17T18:50:51.742Z","dependency_job_id":null,"html_url":"https://github.com/traut/feeds2fb2","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traut%2Ffeeds2fb2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traut%2Ffeeds2fb2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traut%2Ffeeds2fb2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/traut%2Ffeeds2fb2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/traut","download_url":"https://codeload.github.com/traut/feeds2fb2/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246108181,"owners_count":20724681,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fb2","fb2-book","opml","python"],"created_at":"2024-10-02T11:30:02.001Z","updated_at":"2025-03-28T22:26:46.644Z","avatar_url":"https://github.com/traut.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# feeds2fb2\n\n\n## Summary\nfeeds2fb2 converts RSS feeds (extracted from [OPML](http://en.wikipedia.org/wiki/OPML) file or simple text file with list inside) into [FB2](http://en.wikipedia.org/wiki/Fb2) book or books.\nFB2 books can be easily viewed on e-book readers: PocketBook, LBook V3 (Hanlin V3), etc.\n\nfeeds2fb2 converter has a few options - images in posts can be enabled/disabled, output file can be zipped or not, etc.\n\n\n## Note\nfeeds2fb2 is not in development anymore because I don't have time for it.\n\nif you want to commit fixes, please do a pull request.\nIf you need some specific tuning, you can ping me by emai: [sergey@polzunov.com](mailto:sergey@polzunov.com)\n\n## Usage\n\n### Summary\n\n```\n$ feeds2fb2.py -t FILETYPE [options] FILE_TO_PARSE OUTPUT_NAME\n\n  -t FILETYPE           - here filetype is opml (OPML file) or text (simple text file with URLs to RSS feeds one at line)\n\n  Optional settings:\n         --title FB2BOOK_TITLE   - here you can specify the result fb2 book title.\n         --enable-pics           - enables images convertation into fb2-formated embedded images.\n         --book-per-feed         - enables fb2 book per feed mode. Every feed is created as a separate fb2 file.\n         --disable-zip           - disables zip packing of the result fb2 file/files (enabled by default).\n         --get-all-posts         - set this option if you want to get all RSS posts (not just the latest).\n\n  FILE_TO_PARSE         - the name of an input file (opml or simple text file).\n\n  OUTPUT_NAME           1. in \"book-per-feed\" mode books with feeds are placed into the directory with the name of OUTPUT_NAME.\n                           By default OUTPUT_NAME is a current directory.\n                        2. in default mode it is a name of the result fb2 book file without \"fb2\" extension\n```\n\n### Examples\n\n*example 0*. Converting simple text file with 1 url inside. Result file name is \"result.fb2\"\n```\n$ ./feeds2fb2.py -t text ./text-example.txt result.fb2\n    [ http://googlerussiablog.blogspot.com/atom.xml ]      Google Russia\nConverting HTML tags for feed... done\nDone\n```\n\n*example 1*. Converting OPML file in book-per-feed mode. There are no labels/tags in OPML file\n```\n$ ./feeds2fb2.py -t opml --book-per-feed ./opml-example.xml\nprocessing label \"Unlabeled\"\n    [ http://www.the-ebook.org/e107/e107_files/backend/news.xml ]   The-eBook Russia\n    [ http://out.com.ua/blog/feed/ ]        Thoughts Thru Oxygen\n    [ http://2read.ru/feed/ ]       Blog \"Tech book\"\n    [ http://www.habrahabr.ru/rss/main/ ]   Habrahabr\nConverting HTML tags for feed... done\nConverting HTML tags for feed... done\nConverting HTML tags for feed... done\nConverting HTML tags for feed... done\nDone\n```\n\n*example 2*. Converting text file with URLs inside info fb2 book with images titled \"My Feeds\"\n```\n$ ./feeds2fb2.py -t text --enable-pics --title=\"My Feeds\" ./text-example2.txt result.fb2\n    [ http://bash.org.ru/rss ]      Bash.Org.Ru\n    [ http://googlerussiablog.blogspot.com/atom.xml ]       Google Russia\n    [ http://www.the-ebook.org/e107/e107_files/backend/news.xml ]   The-eBook Russia\nConverting HTML tags for feed... done\nGetting image from http://www.the-ebook.org/files/ifb2lrfsmallos1.png\nGetting image from http://bp1.blogger.com/_r6mLyAa9wE0/Rg_yCaIHPOI/AAAAAAAAAAk/FdjlItZqSwU/s320/71410563_ed1502fcaf_m.jpg\nGetting image from http://www.google.ru/ig/modules/eyes-thm.png\nGetting image from http://lh3.google.com/image/aldanur/RjMHtt2ubmE/AAAAAAAAHkg/ZLANKz8LsNE/s160-c/Google.jpg\nGetting image from http://images2.photomania.com/230558/1/radB0709.jpg  ERROR: cannot get image content\nGetting image from http://www.google.ru/ig/cache/6e/e9/6ee956913425c59002ec526bdf62f9dc-thm.png\n...\nDone\n```\n\n\nChanges\n-------\nv0.4\n  * *Dirty HTML (text with unclosed/unopened tags) sanitization has been added*.\n  * *Bug-fixes and hacks*. Due to LBook/Hanling Fb2 plugin restrictions there are no way to present some HTML text blocks in good-looking form in fb2 format for LBook/Hanlin V3. So we are waiting for css-in-book support and special chars/symbols support.\n\nv0.3\n  * *Timestamps are added*. The feed's last update time is saved in config file \"feed2fb2.timestamp\". Next time you run the script you will get only new posts. You can get all the posts with `--get-all-posts` as well\n  * *Output name*. The output parameter's behavior was changed - it is now a result file name by default OR name of the directory where all books will be placed in `--book-per-feed` mode\n  * *ZIP archive support added*. By default all result files are zipped\n\nv0.2\n  * *Images in posts*. By default images in posts are disabled so if you want to convert images from \\\u003cimg\\\u003e from your feeds to fb2 book you should set the `--enable-pics` flag\n  * *Book-per-feed mode*. It is an optional mode. Every book title consist of a label (if input data is an OPML file with labels) and a feed title. You can enable this mode with the `--book-per-feed` flag\n  * *.sh and .bat scripts* for easy Google Reader OPML to FB2 book convertation are added\n\nv0.1\n  * *2 types of input data*. OPML file or a simple text file with feedURL-per-line style\n  * *Optional customised book title*. You can specify your custom book title with `--title` flag\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftraut%2Ffeeds2fb2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftraut%2Ffeeds2fb2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftraut%2Ffeeds2fb2/lists"}