99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

pyspider 快速開始

2023-02-16 16:06 更新

安裝

pip install pyspider命令行運(yùn)行 pyspider瀏覽器運(yùn)行腳本編輯界面WebUI http://localhost:5000/

如果你使用的是ubuntu系統(tǒng),嘗試:

apt-get install python python-dev python-distribute python-pip \
libcurl4-openssl-dev libxml2-dev libxslt1-dev python-lxml \
libssl-dev zlib1g-dev

先去安裝二進(jìn)制的包

如果需要請安裝PhantomJS http://phantomjs.org/build.html

應(yīng)該注意PhantomJS只有把啟動路徑添加到系統(tǒng)環(huán)境中才能使用。

注意:pyspider命令是默認(rèn)啟動所all模型,該模型是使用線程和子進(jìn)程的。有關(guān)生產(chǎn)環(huán)境的,請轉(zhuǎn)到鏈接Deployment閱讀

警告:腳本編輯界面WebUI,是對外開放的。這會對你的電腦造成不必要的風(fēng)險,請?jiān)趦?nèi)網(wǎng)下使用它。

編寫第一個腳本

    from pyspider.libs.base_handler import *
    class Handler(BaseHandler):
        crawl_config = {
        }
    
        @every(minutes=24 * 60)
        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)
    
        @config(priority=2)
        def detail_page(self, response):
            return {
                "url": response.url,
                "title": response.doc('title').text(),
            }
  • def on_start(self) 是腳本的入口。當(dāng)你點(diǎn)擊表盤上的run按鈕的時候,將會運(yùn)行它。
  • self.crawl(url, callback=self.index_page)* 這是一個最重要的API方法。它將會添加新的任務(wù)到采集隊(duì)列。通過self.crawl的參數(shù),指定更多的選項(xiàng)。
  • def index_page(self, response)會獲得一個所有 Response* 對象. response.doc*是一個pyquery對象(有jQuery-like API去選擇提取元素的信息)。
  • def detail_page(self, response)返回一個字段對象作為結(jié)果。這個結(jié)果默認(rèn)會被resultdb捕捉。你也可以重寫on_result(self, result)方法,去管理采集的結(jié)果。

更多的內(nèi)容你需要知道的

  • @every(minutes=24*60, seconds=0)*是一個助手去告訴調(diào)度器on_start方法每天都要運(yùn)行。
  • @config(age=10 * 24 * 60 * 60)*指定了self.crawl默認(rèn)的age參數(shù)。頁面類型是index_page(當(dāng)callback=self.index_page的時候) age參數(shù)可以通過self.crawl(url, age=10*24*60*60)(優(yōu)先級高一定)或者crawl_config(優(yōu)先級底一點(diǎn))指定。
  • age=10 * 24 * 60 * 60*這個參數(shù)是告訴調(diào)度器拋棄這個請求,如果這個請求在十天之內(nèi)爬過。pyspider默認(rèn)是不會采集相同的url,即使你修改代碼。剛開始第一次運(yùn)行爬蟲同時維護(hù)代碼是比較常見的。第二次運(yùn)行也不會重新爬取。(閱讀itag去解決問題)
  • @config(priority=2)*標(biāo)記了detail pages應(yīng)該先采集。

你可以調(diào)試你的腳本一步一步的點(diǎn)擊run按鈕。轉(zhuǎn)到follows儀表盤,點(diǎn)擊play按鈕,去繼續(xù)。

開始運(yùn)行

  1. 保存你的爬蟲
  2. 返回腳本編輯界面首頁,找到你的項(xiàng)目
  3. 改變下狀態(tài)到DEBUG或者RUNNING
  4. 點(diǎn)擊run按鈕

主頁圖片


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號