EchterAlsFake / Porn_Fetch

Cross-Platform Porn (Hub) downloader with Account Login and Searching support
GNU General Public License v3.0
136 stars 22 forks source link

There are some issues at present. #44

Closed WatsonSola closed 2 months ago

WatsonSola commented 4 months ago

Some model links can only get 40 videos. And if you participate in other people's videos, the videos obtained by the model link will not be the videos uploaded by you but the videos you participated in. And some duplicate titles will cause the file to be overwritten instead of becoming (1). The above problem may have scalability issues, such as some non-English titles will not be displayed, such as Russian and Japanese, which will cause the video titles to be repeated and overwrite the previous different videos.(The inability to display does not refer to when the video is obtained, but when it is downloaded locally.)

EchterAlsFake commented 4 months ago

Hi, thanks for your reporting.

The issue with the model uploads is really easy to fix and the one with the titles too. I would take the approach to just make it like you said with the extra brackets and then a 1 or 2.

So I am gonna fix that today in the 3.4 branch. If you already need the fixes, you can use Porn Fetch directly from git.

I update you when it's done :)

Edit:

If you could provide me with the moel URL you used, this would be really good, so I can test it.

EchterAlsFake commented 4 months ago

Should be fixed now.

The one with the uploads was easy to fix. User uploads are now fetched at first and after it there come the other videos where they are featured.

The issue with the duplicated files is also fixed, by using a random number at the end if the file already exists. Although this behaviour is optional and can now be enabled in the settings under the "Video" category.

If you want to test out the changes, clone the project and checkout the 3.4 branch using:

git clone https://github.com/EchterAlsFake/Porn_Fetch git checkout 3.4

WatsonSola commented 4 months ago

git checkout 3.4 fatal: not a git repository (or any of the parent directories): .git

Since I am a beginner, I don’t know where the problem lies. Although I have cloned the project, the branch has not been checked out. And because version 3.3 has the problem of getting more videos than the number of uploaded videos, so I have been using version 3.2 before.Since a few days ago, version 3.2 cannot obtain videos.(This problem has not been found in version 3.3) Pattern failed Traceback (most recent call last): File "main.py", line 290, in run File "phub\objects\query.py", line 133, in iter File "phub\objects\query.py", line 51, in wrap File "phub\objects\query.py", line 43, in getitem File "phub\objects\query.py", line 203, in _get_page File "phub\objects\query.py", line 325, in _parse_page File "phub\consts.py", line 113, in wrapper File "phub\consts.py", line 78, in _throw_re_error phub.errors.RegexError: Regex failed.

https://www.pornhub.com/model/rubyrousson This model URL only uploaded 88 videos, but the get video can retrieve 91 videos

EchterAlsFake commented 4 months ago

The uploaded videos and the featured videos are two different things. Until my last commit Porn Fetch actually didn't show the user uploads, but only featured videos. So a video where the pornstar was part of.

I could probably add a setting, so that one can choose between self uploaded videos, featured videos, or both of them.

The regex error is a very deep problem, which the author of the PHUB library (the backend of Porn Fetch, which actually loads the videos) and I already tried figuring out, but we haven't got any solution yet.

We think that those are probably videos, that have been deleted or set to private, but still exist in PornHubs database. The PHUB library is very well optimized and a lot of issues actually come from PornHub and not from the API.

So the git checkout thing, you need to be inside the Porn Fetch folder. I forgot to tell you that.

So clone the repository, then do: cd Porn_Fetch and then do git checkout 3.4

Hopefully this works then.

Thanks for providing the model URL. I will do some tests tomorrow. Maybe I can fix it, but I can't promise anything, because to be honest I am not the author of PHUB and I am still trying to understand Egsagon's beautiful code he wrote there 😅

WatsonSola commented 4 months ago

Hope this setting can be implemented in version 3.4

Traceback (most recent call last): File "P:\Git\Porn_Fetch\Porn_Fetch_CLI.py", line 3, in import phub.consts ModuleNotFoundError: No module named 'phub'

I think I must have made a mistake somewhere, because whether it is the 3.4 version branch or the 3.3 version source code, the operation will fail.

Thank you for your guidance and answers

EchterAlsFake commented 4 months ago

Oh it seems like you don't really know a lot about Python right?

You first need to install the package requirements. When you are inside the Porn Fetch directory do:

pip install -r requirements.txt

EchterAlsFake commented 4 months ago

So I did some tests with the model.

3 videos failed to fetch with the RegexError, but actually it's always the same video and those aren't different videos. The issue is, that these videos are probably blocked in your region. At least in my region (Germany) they are blocked and I tested with vietnam, usa and algeria but it's blocked in all of these countries.

Here's the URL that's causing this: https://pornhub.com/view_video.php?viewkey=660c390510e0d

I will make an Exception for that, so that if such error happens, Porn Fetch will just skip the videos and notify the user.