2016-03-06 12 views
5

Istnieje świetny kopiarka strony, którą chciałbym zawrzeć w moim pliku wykonywalnym, stworzonym przy pomocy Pythona 3 i py2exe.
Na oficjalnej stronie HTTrack w dziale najczęściej zadawanych pytań mówi się, że jest tam is a DLL/library version available.
Ale nie wiem od czego zacząć, a nawet jak korzystać z biblioteki DLL, gdy zostanie ona dołączona do pliku wykonywalnego.
Jak mogę dołączyć httrack do pliku wykonywalnego Pythona 3 i użyć jego funkcji do rozpoczęcia kopiowania stron internetowych?
Edit:
znalazłem httrack-py 0.6.1 ale obsługuje tylko Pythona 2 i wykorzystuje starą wersję httrack, więc nie mogę użyć tego do mojego pliku wykonywalnego.Jak łączyć httrack w python 3 wykonywalny

Odpowiedz

1

Jak widzę to masz 2 opcje:

  1. Można spróbować przekształcić httrack-py do pytona 3 po these instrukcji, ale to zazwyczaj nie jest dobrym pomysłem do pracy z przestarzałych i nieużywanej 3rd party biblioteka.

  2. Ponieważ oficjalny HTTrack udostępnia bibliotekę DLL, można korzystać z biblioteki bezpośrednio z kodu Pythona 3. Stackoverflow pytanie How can I use a DLL file from Python? daje doskonałą odpowiedź , jak to zrobić.

    py2exe jedynie tworzy Instalator Windows, który zabierze opieką szczegółów instalacji interpretera Pythona i kodu Pythona do systemu docelowego, tak aby użytkownik końcowy nie musi zajmować się czymkolwiek innym niż jednym .exe . Oznacza to, że musisz dołączyć 3rd party DLL w configuration - Zgaduję 3rd party DLL, aby przejść do "data_files" (nie testowałem tego jednak).

+0

Wiem, jak dołączyć pliki dll do mojego pliku wykonywalnego, ale nie wiem, co dll lub bibliotek DLL, aby pakiet i jakie funkcje użyć, aby lustro witryny. Byłoby pomocne, gdybyś mógł połączyć bibliotekę dll samemu i spróbować odzwierciedlić jej stronę internetową. – yuval

+0

btw. co sprawia, że ​​httrack jest wymogiem? Jeśli celem było tylko skopiowanie niektórych stron statycznych i skonfigurowanie serwera http do obsługi, to nie wymagałoby to dużej ilości kodu Pythona i byłoby przenośne jak pyton. Po prostu pytanie, ponieważ przy użyciu tej biblioteki DLL wymaga przeczytania ich dokumentacji na temat interfejsów w ich dll itp. Np. aby odpowiedzieć na pytanie "jakie funkcje użyć" wymaga zrozumienia tego, co ostatecznie próbujesz osiągnąć. –