python 用pyinstaller打包多进程multiprocessing、tkinter scrapy爬取豆瓣TOP250部电影信息

参考文章:

https://blog.csdn.net/La_vie_est_belle/article/details/79017358

https://blog.csdn.net/weixin_42052836/article/details/82315118

https://blog.csdn.net/zm147451753/article/details/85850526

常规pyinstaller 打包scrapy方式基本分2种:

1.在启动scrapy的命令begin.py文件中import 各种model,然后pyinstaller begin.py,还得把包含VERSION和mime.types的scrapy文件夹复制到生成后的dist里begin文件夹中

2.就是生成一个begin.spec文件,在里面可以hiddenimports里添加需要的model,还可以利用datas,直接把scrapy文件(上面提到的),自己写的douban scrapy文件放进生成后的dist里begin文件夹中

  (ps: spec文件内不能有中文字符!不然会报错 gbk xx什么的)

 

而我这次打包方法就是利用spec文件:

原scrapy文件如下:

https://blog.csdn.net/qq_38282706/article/details/80058548

当然,我做了些改动,毕竟是1年前的作品了,我进步了嘛!

1.自己写的scrapy爬取豆瓣的py文件:

启动程序的begin.py

# -*- coding: utf-8 -*-



# 打包需要的import(我是用spec打包的,下面那些都可以删掉)
# import urllib.robotparser
# import scrapy.spiderloader
# import scrapy.statscollectors
# import scrapy.logformatter
# import scrapy.dupefilters
# import scrapy.squeues
# import scrapy.extensions.spiderstate
# import scrapy.extensions.corestats
# import scrapy.extensions.telnet
# import scrapy.extensions.logstats
# import scrapy.extensions.memusage
# import scrapy.extensions.memdebug
# import scrapy.extensions.feedexport
# import scrapy.extensions.closespider
# import scrapy.extensions.debug
# import scrapy.extensions.httpcache
# import scrapy.extensions.statsmailer
# import scrapy.extensions.throttle
# import scrapy.core.scheduler
# import scrapy.core.engine
# import scrapy.core.scraper
# import scrapy.core.spidermw
# import scrapy.core.downloader
# import scrapy.downloadermiddlewares.stats
# import scrapy.downloadermiddlewares.httpcache
# import scrapy.downloadermiddlewares.cookies
# import scrapy.downloadermiddlewares.useragent
# import scrapy.downloadermiddlewares.httpproxy
# import scrapy.downloadermiddlewares.ajaxcrawl
# #import scrapy.downloadermiddlewares.chunked
# import scrapy.downloadermiddlewares.decompression
# import scrapy.downloadermiddlewares.defaultheaders
# import scrapy.downloadermiddlewares.downloadtimeout
# import scrapy.downloadermiddlewares.httpauth
# import scrapy.downloadermiddlewares.httpcompression
# import scrapy.downloadermiddlewares.redirect
# import scrapy.downloadermiddlewares.retry
# import scrapy.downloadermiddlewares.robotstxt
# import scrapy.spidermiddlewares.depth
# import scrapy.spidermiddlewares.httperror
# import scrapy.spidermiddlewares.offsite
# import scrapy.spidermiddlewares.referer
# import scrapy.spidermiddlewares.urllength
# import scrapy.pipelines
# import scrapy.core.downloader.handlers.http
# import scrapy.core.downloader.contextfactory

from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings

# import os,json,csv,re,os,scrapy,pymysql,My_Tool
import subprocess
import multiprocessing
from tkinter import *


class test():
    def __init__(self,root):
        self.root = root                        #创建窗口
        self.root.title("hello world")           #窗口标题
        self.root.geometry("320x220")  #设定窗口尺寸

        Button(text='启动方式:crawl_spider', command=self.crawl_spider).pack()
        Button(text='启动方式:sub_call', command=self.sub_call).pack()

        Button(text='关闭方法:kill_terminate', command=self.kill_terminate).pack()
        Button(text='关闭方法:kill_Popen', command=self.kill_Popen).pack()



    #使用scrapy默认的启动方法CrawlerProcess,
    # PS:得把原scrapy文件、跟cfg放进文件夹才能运行!
    def cr
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值