leetaogoooo / movieheavens Goto Github PK
View Code? Open in Web Editor NEW🎬 基于Pyqt5的简单电影搜索工具
License: GNU General Public License v2.0
🎬 基于Pyqt5的简单电影搜索工具
License: GNU General Public License v2.0
可以在本issue下留言,后续可以将留言中的电影源添加上🥳🥳🥳
直链
和磁力链接
用IDM或者Aria下载根本没速度。dev分支
master分支
片源网和Mp4吧好像已经失效了
执行 python movies.py 没问题,打包失败了
λ pyinstaller -F -w ./movies.py ./movieSource/MovieHeaven.py ./movieSource/fake_user_agent.py
417 INFO: PyInstaller: 3.4
418 INFO: Python: 3.7.0
423 INFO: Platform: Windows-7-6.1.7601-SP1
426 INFO: wrote d:\code\MovieHeavens\movies.spec
440 INFO: UPX is not available.
444 INFO: Extending PYTHONPATH with paths
['d:\\code\\MovieHeavens',
'd:\\code\\MovieHeavens\\movieSource',
'd:\\code\\MovieHeavens\\movieSource',
'd:\\code\\MovieHeavens']
447 INFO: checking Analysis
447 INFO: Building Analysis because Analysis-00.toc is non existent
447 INFO: Initializing module dependency graph...
454 INFO: Initializing module graph hooks...
479 INFO: Analyzing base_library.zip ...
Traceback (most recent call last):
File "<string>", line 41, in <module>
File "<string>", line 13, in walk_packages
File "d:\python\lib\pkgutil.py", line 130, in iter_modules
for name, ispkg in iter_importer_modules(i, prefix):
File "d:\python\lib\pkgutil.py", line 149, in _iter_file_finder_modules
import inspect
File "d:\python\lib\inspect.py", line 40, in <module>
import linecache
File "d:\python\lib\linecache.py", line 11, in <module>
import tokenize
File "d:\python\lib\tokenize.py", line 33, in <module>
import re
File "d:\python\lib\re.py", line 143, in <module>
class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'
Traceback (most recent call last):
File "<string>", line 41, in <module>
File "<string>", line 13, in walk_packages
File "d:\python\lib\pkgutil.py", line 130, in iter_modules
for name, ispkg in iter_importer_modules(i, prefix):
File "d:\python\lib\pkgutil.py", line 149, in _iter_file_finder_modules
import inspect
File "d:\python\lib\inspect.py", line 40, in <module>
import linecache
File "d:\python\lib\linecache.py", line 11, in <module>
import tokenize
File "d:\python\lib\tokenize.py", line 33, in <module>
import re
File "d:\python\lib\re.py", line 143, in <module>
class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'
5523 INFO: running Analysis Analysis-00.toc
5557 INFO: Adding Microsoft.Windows.Common-Controls to dependent assemblies of final executable
required by d:\python\python.exe
6021 INFO: Caching module hooks...
6028 INFO: Analyzing d:\code\MovieHeavens\movies.py
7030 INFO: Processing pre-safe import module hook urllib3.packages.six.moves
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "d:\python\lib\site-packages\urllib3\__init__.py", line 8, in <module>
from .connectionpool import (
File "d:\python\lib\site-packages\urllib3\connectionpool.py", line 3, in <module>
import logging
File "d:\python\lib\logging\__init__.py", line 26, in <module>
import sys, os, time, io, traceback, warnings, weakref, collections.abc
File "d:\python\lib\traceback.py", line 5, in <module>
import linecache
File "d:\python\lib\linecache.py", line 11, in <module>
import tokenize
File "d:\python\lib\tokenize.py", line 33, in <module>
import re
File "d:\python\lib\re.py", line 143, in <module>
class RegexFlag(enum.IntFlag):
AttributeError: module 'enum' has no attribute 'IntFlag'
Traceback (most recent call last):
File "d:\python\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "d:\python\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "D:\python\Scripts\pyinstaller.exe\__main__.py", line 9, in <module>
File "d:\python\lib\site-packages\PyInstaller\__main__.py", line 111, in run
run_build(pyi_config, spec_file, **vars(args))
File "d:\python\lib\site-packages\PyInstaller\__main__.py", line 63, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "d:\python\lib\site-packages\PyInstaller\building\build_main.py", line 838, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "d:\python\lib\site-packages\PyInstaller\building\build_main.py", line 784, in build
exec(text, spec_namespace)
File "<string>", line 17, in <module>
File "d:\python\lib\site-packages\PyInstaller\building\build_main.py", line 241, in __init__
self.__postinit__()
File "d:\python\lib\site-packages\PyInstaller\building\datastruct.py", line 158, in __postinit__
self.assemble()
File "d:\python\lib\site-packages\PyInstaller\building\build_main.py", line 443, in assemble
priority_scripts.append(self.graph.run_script(script))
File "d:\python\lib\site-packages\PyInstaller\depend\analysis.py", line 201, in run_script
self._top_script_node = super(PyiModuleGraph, self).run_script(pathname)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1348, in run_script
self._scan_code(m, co, co_ast)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
self._process_imports(module)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
target_module = self._safe_import_hook(*import_info, **kwargs)[0]
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2221, in _safe_import_hook
target_attr_names=None, level=level, edge_attr=edge_attr)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1422, in import_hook
target_module = self._load_tail(target_package, target_module_partname)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1635, in _load_tail
submodule = self._safe_import_module(head, mname, submodule)
File "d:\python\lib\site-packages\PyInstaller\depend\analysis.py", line 271, in _safe_import_module
module_basename, module_name, parent_package)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1990, in _safe_import_module
module_name, file_handle, pathname, metadata)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2082, in _load_module
self._scan_code(m, co, co_ast)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
self._process_imports(module)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
target_module = self._safe_import_hook(*import_info, **kwargs)[0]
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2221, in _safe_import_hook
target_attr_names=None, level=level, edge_attr=edge_attr)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1421, in import_hook
source_package, target_module_partname, level)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1573, in _find_head_package
target_module_headname, target_package_name, source_package)
File "d:\python\lib\site-packages\PyInstaller\depend\analysis.py", line 271, in _safe_import_module
module_basename, module_name, parent_package)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1990, in _safe_import_module
module_name, file_handle, pathname, metadata)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2028, in _load_module
m = self._load_package(fqname, pathname, packagepath)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2813, in _load_package
self._load_module(fqname, fp, buf, stuff)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2082, in _load_module
self._scan_code(m, co, co_ast)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
self._process_imports(module)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
target_module = self._safe_import_hook(*import_info, **kwargs)[0]
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2221, in _safe_import_hook
target_attr_names=None, level=level, edge_attr=edge_attr)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1421, in import_hook
source_package, target_module_partname, level)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1573, in _find_head_package
target_module_headname, target_package_name, source_package)
File "d:\python\lib\site-packages\PyInstaller\depend\analysis.py", line 271, in _safe_import_module
module_basename, module_name, parent_package)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1990, in _safe_import_module
module_name, file_handle, pathname, metadata)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2028, in _load_module
m = self._load_package(fqname, pathname, packagepath)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2813, in _load_package
self._load_module(fqname, fp, buf, stuff)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2082, in _load_module
self._scan_code(m, co, co_ast)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
self._process_imports(module)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
target_module = self._safe_import_hook(*import_info, **kwargs)[0]
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2221, in _safe_import_hook
target_attr_names=None, level=level, edge_attr=edge_attr)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1421, in import_hook
source_package, target_module_partname, level)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1573, in _find_head_package
target_module_headname, target_package_name, source_package)
File "d:\python\lib\site-packages\PyInstaller\depend\analysis.py", line 271, in _safe_import_module
module_basename, module_name, parent_package)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1990, in _safe_import_module
module_name, file_handle, pathname, metadata)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2082, in _load_module
self._scan_code(m, co, co_ast)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
self._process_imports(module)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
target_module = self._safe_import_hook(*import_info, **kwargs)[0]
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2221, in _safe_import_hook
target_attr_names=None, level=level, edge_attr=edge_attr)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1421, in import_hook
source_package, target_module_partname, level)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1573, in _find_head_package
target_module_headname, target_package_name, source_package)
File "d:\python\lib\site-packages\PyInstaller\depend\analysis.py", line 271, in _safe_import_module
module_basename, module_name, parent_package)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1990, in _safe_import_module
module_name, file_handle, pathname, metadata)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2082, in _load_module
self._scan_code(m, co, co_ast)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2544, in _scan_code
self._process_imports(module)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2743, in _process_imports
target_module = self._safe_import_hook(*import_info, **kwargs)[0]
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 2221, in _safe_import_hook
target_attr_names=None, level=level, edge_attr=edge_attr)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1422, in import_hook
target_module = self._load_tail(target_package, target_module_partname)
File "d:\python\lib\site-packages\PyInstaller\lib\modulegraph\modulegraph.py", line 1635, in _load_tail
submodule = self._safe_import_module(head, mname, submodule)
File "d:\python\lib\site-packages\PyInstaller\depend\analysis.py", line 260, in _safe_import_module
hook_module.pre_safe_import_module(hook_api)
File "d:\python\lib\site-packages\PyInstaller\hooks\pre_safe_import_module\hook-urllib3.packages.six.moves.py", line 31, in pre_safe_import_module
for real_module_name, six_module_name in real_to_six_module_name.items():
AttributeError: 'str' object has no attribute 'items'
看到这里的代码,发现有点不对。磁力链接为什么还用ftp_down_pattern去正则匹配
修改后
magnet_url_list = magnet_down_pattern.findall(down_page_content)
修改后能够返回磁力链接,但是链接还有问题。和正常的磁力链接相比,匹配的结果多了amp;
字符
download_url_list.append(magnet_url_list[0].replace('amp;', ''))
Hi, In MovieHeavens, inappropriate dependency versioning constraints can cause risks.
Below are the dependencies and version constraints that the project is using
PyQt5
requests
fake-useragent
The version constraint == will introduce the risk of dependency conflicts because the scope of dependencies is too strict.
The version constraint No Upper Bound and * will introduce the risk of the missing API Error because the latest version of the dependencies may remove some APIs.
After further analysis, in this project,
The version constraint of dependency requests can be changed to >=0.2.1,<=0.2.3.
The version constraint of dependency requests can be changed to >=0.7.0,<=2.24.0.
The version constraint of dependency requests can be changed to ==2.26.0.
The above modification suggestions can reduce the dependency conflicts as much as possible,
and introduce the latest version as much as possible without calling Error in the projects.
The invocation of the current project includes all the following methods.
requests.get
PyQt5.QtWidgets.QGridLayout self.init_widgets.init_layout.init_event self.search_content_text_list.clear self.__all_page_details_url_list.extend re.compile PyQt5.QtWidgets.QApplication.clipboard.clear self.menu_bar.addMenu.addAction len movieSource.fake_user_agent.useragent_random self.movie_source_combobox.addItem self.search_push_button.clicked.connect str PyQt5.QtWidgets.QAction.setIcon PyQt5.QtWidgets.QGridLayout.addWidget PyQt5.QtWidgets.QLabel watch_action.triggered.connect PyQt5.QtGui.QImage random.choice self.search_content_text_list.itemClicked.connect download_url_list.append self.__get_movie_contents_url int self.setGeometry ImageWindow reward_action.triggered.connect WorkThread self.tr self.setWindowTitle self.reward_window.show movieSource.MovieHeaven.MovieHeaven PyQt5.QtWidgets.QApplication.exec_ PyQt5.QtGui.QIcon self.__pool.join self.menuBar self.__next_page_detail self.get_select_movie_source re.compile.findall self.search_content_text_list.addItems LayoutDialog PyQt5.QtGui.QPixmap.height PyQt5.QtGui.QPixmap self.movies_list.append PyQt5.QtWidgets.QMessageBox.critical self.movie_name_line_edit.text.encode self.__get_movie_down_url PyQt5.QtWidgets.QApplication.clipboard self.__get_page_number_total PyQt5.QtWidgets.QPushButton range PyQt5.QtWidgets.QLineEdit self.ImageWindow.super.__init__ self.watch_window.show PyQt5.QtWidgets.QVBoxLayout search_movies.get_display_content self.__get_headers PyQt5.QtGui.QPixmap.width self.setCentralWidget PyQt5.QtWidgets.QWidget.setLayout PyQt5.QtWidgets.QAction PyQt5.QtWidgets.QLabel.setPixmap PyQt5.QtWidgets.QApplication.clipboard.setText self.work.render self.__search_movie_results requests.get self.__pool.map PyQt5.QtWidgets.QVBoxLayout.addWidget self.__get_movies_detail_page self.__get_search_content_by_url PyQt5.QtWidgets.QComboBox self.search_content_text_list.currentItem PyQt5.QtCore.QThread.__init__ self.movie_source_combobox.currentText magnet_down_pattern.findall.replace PyQt5.QtWidgets.QMessageBox.information super.__init__ self.start super self.search_content_text_list.currentItem.text self.__pool.close PyQt5.QtWidgets.QLabel.resize LayoutDialog.show PyQt5.QtWidgets.QWidget self.tip_label.setText self.menu_bar.addMenu multiprocessing.dummy.Pool PyQt5.QtWidgets.QApplication self.critical PyQt5.QtWidgets.QListWidget self.slot_information self.init_widgets.init_layout self.movie_name_line_edit.text self.init_widgets
@developer
Could please help me check this issue?
May I pull a request to fix it?
Thank you very much.
准备加入新的站点,作为下一版本的功能
OS version:Microsoft Windows 10 version 1803
Python version:Python 3.7.2
$> python3 -m pip install PyInstaller
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting PyInstaller
Downloading https://mirrors.aliyun.com/pypi/packages/03/32/0e0de593f129bf1d1e77eed562496d154ef4460fd5cecfd78612ef39a0cc/PyInstaller-3.4.tar.gz (3.5MB)
100% |████████████████████████████████| 3.5MB 1.6MB/s
Installing build dependencies ... done
Getting requirements to build wheel ... error
Complete output from command "D:\Program Files (x86)\Python\Python37-32\python3.exe" "D:\Program Files (x86)\Python\Python37-32\lib\site-packages\pip_vendor\pep517_in_process.py" get_requires_for_build_wheel C:\Users\JEFFLE1\AppData\Local\Temp\tmp7nj6_0ug:1\AppData\Local\Temp\pip-build-env-lw5je0z7\overlay\Lib\site-packages\setuptools\build_meta.py", line 115, in get_requires_for_build_wheel
Traceback (most recent call last):
File "D:\Program Files (x86)\Python\Python37-32\lib\site-packages\pip_vendor\pep517_in_process.py", line 207, in
main()
File "D:\Program Files (x86)\Python\Python37-32\lib\site-packages\pip_vendor\pep517_in_process.py", line 197, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "D:\Program Files (x86)\Python\Python37-32\lib\site-packages\pip_vendor\pep517_in_process.py", line 54, in get_requires_for_build_wheel
return hook(config_settings)
File "C:\Users\JEFFLE
return _get_build_requires(config_settings, requirements=['wheel'])
File "C:\Users\JEFFLE1\AppData\Local\Temp\pip-build-env-lw5je0z7\overlay\Lib\site-packages\setuptools\build_meta.py", line 101, in _get_build_requires1\AppData\Local\Temp\pip-build-env-lw5je0z7\overlay\Lib\site-packages\setuptools\build_meta.py", line 85, in _run_setup
_run_setup()
File "C:\Users\JEFFLE
exec(compile(code, file, 'exec'), locals())
File "setup.py", line 20, in
from PyInstaller import version as version, HOMEPATH, PLATFORM
ModuleNotFoundError: No module named 'PyInstaller'
Command ""D:\Program Files (x86)\Python\Python37-32\python3.exe" "D:\Program Files (x86)\Python\Python37-32\lib\site-packages\pip_vendor\pep517_in_process.py" get_requires_for_build_wheel C:\Users\JEFFLE
1\AppData\Local\Temp\tmp7nj6_0ug" failed with error code 1 in C:\Users\JEFFLE1\AppData\Local\Temp\pip-install-51r2xxed\PyInstaller
我看查询到很多迅雷可以下载的链接,但是怎么选择自己想要的,可视化不是很好,这也看不出来呀,而且查询的结果可不可以固定选择一个清晰度的迅雷链接,或者百度云的链接,弄到剪贴板上去的呢,直接右键到迅雷里面下载这样,会很方便。
为什么我的没有下拉框?
希望可以同时兼容 python2 和 3
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.