Python 从.exe文件运行spider

Python 从.exe文件运行spider,python,scrapy,exe,py2exe,Python,Scrapy,Exe,Py2exe,我不知道是否已经有关于同一主题的问题了。我的英语不够好,无法理解我在stackoverflow.com上看到的所有关于网络抓取和从exe文件运行爬行器的主题 因此,如果我问了一个已经在某处得到回答的问题,我很抱歉,但是:在编写我的spider之后,是否可以从exe文件启动它,而不是从scrapy craw xxx启动它?只要点击.exe文件,计算机就会在我爬网的网站上搜索我想要的项目,并会给我一个.csv文件或.json文件。我看到了py2exe,但它似乎是为了我的spider的输出。我不明白

我不知道是否已经有关于同一主题的问题了。我的英语不够好,无法理解我在
stackoverflow.com
上看到的所有关于网络抓取和从exe文件运行爬行器的主题

因此,如果我问了一个已经在某处得到回答的问题,我很抱歉,但是:在编写我的spider之后,是否可以从exe文件启动它,而不是从
scrapy craw xxx
启动它?只要点击.exe文件,计算机就会在我爬网的网站上搜索我想要的项目,并会给我一个.csv文件或.json文件。我看到了
py2exe
,但它似乎是为了我的spider的输出。我不明白

我希望我已经足够清楚了(在我的脑海里,法语甚至都不清楚,用英语翻译它真的很难)


非常感谢你的帮助

要运行python脚本,您需要在机器上提供python解释器

因此,如果要分发python脚本(spider),需要确保用户设置了正确的python环境

我 当您与技术人员打交道时,这通常不是问题,只要告诉他们需要
安装python 3.5
(或您正在使用的任何工具),并使用
pip
获取所需的模块即可。他们甚至可以自己解决这个问题

二, 如果您与非技术用户打交道,您不希望要求他们使用命令行或必须安装所有依赖项,从而使他们的生活变得艰难

相反,您可以为他们提供一个自包含的包,其中包括:
脚本
python解释器
和所需的
附加模块

有几种工具可以为您创建这些软件包:

  • PyInstaller-(这可能是最简单的选项)
  • Py2exe-
  • 其他一些
另请参见有关stackoverflow的问题:


    • 我在这里找到了问题的答案:


      感谢您提供的帮助!!我认为这对我来说是更简单的方法…

      如果名称=main,则必须在
      下创建CrawlerProcess的cod:
      以避免运行两次并出错

      这里还有另一种可能,可以将spider作为独立脚本或可执行文件运行

          import scrapy
          from scrapy.crawler import CrawlerProcess
          
          class MySpider(scrapy.Spider):
              # Your spider definition
          if __name__=='__main__':
              process = CrawlerProcess({
              'USER_AGENT': 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)'
                })
          
              process.crawl(MySpider)
              process.start() # the script will block here until the crawling is finished
      

      您可以在此处找到更多信息:

      Hi,如果它不需要是.exe,您可以编写一个脚本,为您完成所有操作。您可以从Windows shell脚本调用python脚本,例如:是的,问题是我想将此程序提供给对编程一无所知的人。我只是想让他们更容易地使用我的蜘蛛。你认为你的解决方案更容易?我不知道在你的具体情况下什么更容易。但是,您可以编写一个简单的bat文件,用户只需单击即可。您可以将python3.5放入pythonscript.py,它将执行spider:您只需创建自己的模块并指定依赖项。然后,用户将能够
      pip安装
      一个模块,pip将为他们安装所有依赖项:谢谢您的回答。然而,我已经看过py2exe(它似乎是我问题的解决方案),但我不明白它是如何工作的。你能用简单的话给我解释一下吗?它似乎适用于一个简单的python脚本,但我不知道它如何适用于一个粗糙的脚本…请先尝试PyInstaller,因为它是最简单的选项。您可以在网站上找到相关说明。使用pyinstaller,创建了一个目录dist,还创建了一个.exe文件。但它不会抓取我想要抓取的网站。还有其他有用的主意吗?