Coder Social home page Coder Social logo

patreondownloader's Introduction

Foxite

  • Foxites are compounds that contain the foxite ion, Fx2O32-.
  • "Foxite" was a late 18th-century British political label for Whig followers of Charles James Fox.
  • Foxit Reader is a PDF viewer and editor.
  • Floxite is a brand of bathroom accessories.
  • Fuchsite is a green stone of the Muscovite Mica variety.
  • Foxite is a high-density polyurethane resin compound manufactured by Bruce Fox.
  • Visual FoxPro (available from a domain starting with "foxite") is a discontinued programming language from 2007.

patreondownloader's People

Contributors

foxite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

patreondownloader's Issues

Not Downloading from Dropbox

I scraped the profile of a creator who posts all her videos on patreon and the pictures on patreon and imgur...
the pictures worked fine (except imgur ofc)...

But i also noticed that no media was downloaded from dropbox...

Exception when getting posts

I get this exception when trying to get posts. Maybe something has changed?

System.Collections.Generic.KeyNotFoundException: The given key 'post_tag' was not present in the dictionary.
at System.Collections.Generic.Dictionary2.get_Item(TKey key) at PatreonDownloader.CustomStringEnumConverter.ReadJson(JsonReader reader, Type objectType, Object existingValue, JsonSerializer serializer) in C:\Users\Foxite\source\repos\PatreonDownloader\PatreonDownloader\CustomStringEnumConverter.cs:line 26 at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.DeserializeConvertable(JsonConverter converter, JsonReader reader, Type objectType, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, Object existingValue, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, Object target) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(Object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, String id) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, Object existingValue) at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent) at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType) at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType) at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings) at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings) at PatreonDownloader.Program.DownloadAllPosts(HttpClient client, List1 pages, String backupFile) in C:\Users\Foxite\source\repos\PatreonDownloader\PatreonDownloader\Program.cs:line 202
at PatreonDownloader.Program.Main(String[] args) in C:\Users\Foxite\source\repos\PatreonDownloader\PatreonDownloader\Program.cs:line 93

Cross-platform issues

This app was mostly developed on Windows but since I started using Arch (btw) I have found that:

  • It can't detect a Firefox installation (and probably not a Chrome installation either)
  • Since BouncyCastle uses .NET Framework, it probably can't decrypt Chrome's cookies

These problems likely exist on Mac as well.

Error: Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.

I pasted my session_id (not sure if that's correct) and also tried not putting anything for the token, but nothing worked. the link I pasted was to the /posts page as I want to bulk download all content

Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: <. Path '', line 0, position 0.
   at bool Newtonsoft.Json.JsonTextReader.ParseValue()
   at bool Newtonsoft.Json.JsonReader.ReadAndMoveToContent()
   at bool Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, bool hasConverter)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, bool checkAdditionalContent)
   at object Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at object Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
   at object Newtonsoft.Json.JsonConvert.DeserializeObject(string value, Type type, JsonSerializerSettings settings)
   at T Newtonsoft.Json.JsonConvert.DeserializeObject<T>(string value, JsonSerializerSettings settings)
   at void PatreonDownloader.Program.DownloadAllPosts(HttpClient client, List<PostPage> pages, string backupFile) in /mnt/data/Development/PatreonDownloader/PatreonDownloader/Program.cs:line 233
   at void PatreonDownloader.Program.Main(string[] args) in /mnt/data/Development/PatreonDownloader/PatreonDownloader/Program.cs:line 116

Feature request: ability to use different directories for each creator

Thanks a lot for your program!

I just discovered it and he is currently saving my life archiving about 60 pages from an creator, after I tried doing it by hand...

However, since it is harcoded to use the PatreonDownloader directory for everything, in practice it means it is not possible to use it to download multiple campaigns without renaming/swapping this folder between each one.

Would it be possible in a future version to add the possibility to either work in different PatreonDownloader subfolders depending on the creator, or add a way to specify a custom working directory?

When trying to download I get the following error that says I should forward to you.

Error: An unknown error has occured. Details have been saved in Documents/PatreonDownloader/error.log. Please forward it to the developer.

The error.log is bellow:

To fix this error either change the JSON to a JSON array (e.g. [1,2,3]) or change the deserialized type so that it is a normal .NET type (e.g. not a primitive type like integer, not a collection type like an array or List<T>) that can be deserialized from a JSON object. JsonObjectAttribute can also be added to the type to force it to deserialize from a JSON object.
Path 'data[6].relationships.audio.data.id', line 1, position 21404.
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at bool Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, object target)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, string id)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at bool Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, object target)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, string id)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at bool Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, object target)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, string id)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateList(IList list, JsonReader reader, JsonArrayContract contract, JsonProperty containerProperty, string id)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateList(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, object existingValue, string id)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at bool Newtonsoft.Json.Serialization.JsonSerializerInternalReader.SetPropertyValue(JsonProperty property, JsonConverter propertyConverter, JsonContainerContract containerContract, JsonProperty containerProperty, JsonReader reader, object target)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.PopulateObject(object newObject, JsonReader reader, JsonObjectContract contract, JsonProperty member, string id)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateObject(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.CreateValueInternal(JsonReader reader, Type objectType, JsonContract contract, JsonProperty member, JsonContainerContract containerContract, JsonProperty containerMember, object existingValue)
   at object Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, bool checkAdditionalContent)
   at object Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at object Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
   at object Newtonsoft.Json.JsonConvert.DeserializeObject(string value, Type type, JsonSerializerSettings settings)
   at T Newtonsoft.Json.JsonConvert.DeserializeObject<T>(string value, JsonSerializerSettings settings)
   at void PatreonDownloader.Program.DownloadAllPosts(HttpClient client, List<PostPage> pages, string backupFile) in /mnt/data/Development/PatreonDownloader/PatreonDownloader/Program.cs:line 233
   at void PatreonDownloader.Program.Main(string[] args) in /mnt/data/Development/PatreonDownloader/PatreonDownloader/Program.cs:line 116```

I get error everytime i try to download a file

whenever i start to download a post, it says: System.ArgumentNullException: Value cannot be null. (Parameter 'html')
at HtmlAgilityPack.HtmlDocument.LoadHtml(String html)
at PatreonDownloader.Program.DownloadMedia(HttpClient client, CookieContainer cookies, List`1 posts) in E:\Development\PatreonDownloader\PatreonDownloader\Program.cs:line 167
at PatreonDownloader.Program.Main(String[] args) in E:\Development\PatreonDownloader\PatreonDownloader\Program.cs:line 83

can you msg me on discord with a potential fix? Duddy#0028

ALSO I get all errors I try to download a file

Hi, Foxite.
I'm having a problem downloading, similar to a previous one that was solved by you,
Every time I run the program it shows the following error:

System.NullReferenceException: Object reference not set to an instance of an object.
at void PatreonDownloader.Program.DownloadMedia(HttpClient client, CookieContainer cookies, List posts) in /mnt/data/Development/PatreonDownloader/PatreonDownloader/Program.cs:line 166
at void PatreonDownloader.Program.Main(string[] args) in /mnt/data/Development/PatreonDownloader/PatreonDownloader/Program.cs:line 104

I even downloaded Chrome (which I particularly hate) but nothing worked.
I don't know how to proceed, I'm quite a layman with all this, sorry.
Could you please help me?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.