<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                [TOC] # 緣起 pyspider 來源于以前做的一個垂直搜索引擎使用的爬蟲后端。我們需要從200個站點(由于站點失效,不是都同時啦,同時有100+在跑吧)采集數據,并要求在5分鐘內將對方網站的更新更新到庫中。 所以,靈活的抓取控制是必須的。同時,由于100個站點,每天都可能會有站點失效或者改版,所以需要能夠監控模板失效,以及查看抓取狀態。 為了達到5分鐘更新,我們使用抓取最近更新頁上面的最后更新時間,以此來判斷頁面是否需要再次抓取。 可見,這個項目對于爬蟲的監控和調度要求是非常高的。 # pyspider 的主要特性 * python 腳本控制,可以用任何你喜歡的html解析包(內置 pyquery) * WEB 界面編寫調試腳本,起停腳本,監控執行狀態,查看活動歷史,獲取結果產出 * 支持 MySQL, MongoDB, SQLite * 支持抓取 JavaScript 的頁面 * 組件可替換,支持單機/分布式部署,支持 Docker 部署 * 強大的調度控制 由于功能太多,更多請參考腳本編寫指南 感謝+PhoenixNemo 提供的VPS,提供了一個 demo: [demo.pyspider.org](http://demo.pyspider.org)。無需安裝即可體驗。 ![document/2015-10-08/5615ef708d7bd](https://box.kancloud.cn/document_2015-10-08_5615ef708d7bd.jpg) 腳本樣例 ~~~ from libs.base_handler import * class Handler(BaseHandler): ''' this is a sample handler ''' @every(minutes=24*60, seconds=0) def on_start(self): self.crawl('http://scrapy.org/', callback=self.index_page) @config(age=10*24*60*60) def index_page(self, response): for each in response.doc('a[href^="http://"]').items(): self.crawl(each.attr.href, callback=self.detail_page) def detail_page(self, response): return { "url": response.url, "title": response.doc('title').text(), } ~~~ 例如這就是創建任務后默認生成的一個腳本示例。 通過 on_start 回調函數,作為爬取的入口點,當點擊主面板上的 run 的時候,就是調用這個函數,啟動抓取。 self.crawl 告訴調度器,我們需要抓取 'http://scrapy.org/' 這個頁面,然后使用 callback=self.index_page 這個回調函數進行解析。 所有 return 的內容默認會被捕獲到 resultdb 中,可以直接在 WEBUI 上看到。 本文引用作者的對pyspider介紹,同時感謝[binux](http://blog.binux.me/)開發并分享如此強大的爬蟲框架。 目前本軟件最新版本為 0.3.7 下載地址為:https://github.com/binux/pyspider
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看