簡體   English   中英

從 .exe 文件運行蜘蛛

[英]Run a spider from an .exe file

我不知道是否已經有關於同一主題的問題。 我的英語不夠好,無法理解我在stackoverflow.com上看到的關於網絡抓取和從 exe 文件運行蜘蛛的所有主題。

所以,如果我問的問題已經在某處得到回答,我很抱歉:在編寫我的蜘蛛之后,是否可以從 exe 文件啟動它而不是從scrapy crawl xxx啟動它? 只需點擊.exe文件,電腦就會在我爬的網站上搜索我想要的項目,並給我一個.csv文件或.json文件。 我看到了py2exe但它似乎是為了我的蜘蛛的輸出。 我不明白。

我希望我已經足夠清楚了(我腦子里甚至連法語都不清楚,而且很難翻譯成英語)。

非常感謝你的幫助!!

要運行 python 腳本,您需要在機器上安裝 python 解釋器。

因此,如果你想分發你的 python 腳本(你的蜘蛛),你需要確保你的用戶設置了正確的 python 環境。

當您與技術人員打交道時,這通常不是問題,只需告訴他們他們需要install python 3.5 (或您正在使用的任何軟件)並使用pip獲取所需的模塊即可。 他們甚至可能自己想出來。

如果您要與非技術用戶打交道,您不希望通過要求他們使用命令行或必須安裝所有依賴項來讓他們的生活變得艱難。

相反,您可以為他們提供一個獨立的包,其中包括: your scriptpython interpreter和所需的additional modules

有幾種工具可以為您創建這些包:

另請參閱在 stackoverflow 上提出的這些問題:

我在這里找到了問題的答案: How do I package a Scrapy script into a standalone application?

感謝@juwi提供的幫助。我認為這對我來說是更簡單的方法......

你必須在if __name__=='__main__':下制作 CrawlerProcess 的 cod,以避免運行兩次和錯誤

這是另一種將蜘蛛作為獨立腳本或可執行文件運行的可能性

    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

您可以在此處找到更多信息: https ://doc.scrapy.org/en/1.0/topics/practices.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM