python - 網頁更新資料之後無法再抓取
给我你的怀抱
给我你的怀抱 2017-05-18 10:58:50
0
2
581

我抓取的網頁今天更新了一則訊息,然後爬蟲運行了卻沒有抓取到.


from pyspider.libs.base_handler import *
from pyspider.database.mysql.mysqldb import SQL

class Handler(BaseHandler):
    crawl_config = {
    }
       
    @every(minutes=24 * 60)
    def on_start(self):
        self.crawl('http://www.yxztb.net/yxweb/zypd/012001/012001001/', callback=self.index_page)

    @config(age=10 * 24 * 60 * 60)
    def index_page(self, response):
        for each in response.doc('.tdmoreinfosub a').items():
            self.crawl(each.attr.href, callback=self.detail_page)
            
    @config(priority=2)
    def detail_page(self, response):
        
        return {
                "address":"宜兴市",
                "url":response.url,
                "title":response.doc('font  span').text(),
                "date" :response.doc('#tdTitle > .webfont').text()[8:17],
            }
    
    def on_result(self, result):
        print result
        if not result or not result['title']:
            return
        sql = SQL()
        sql.replace('zhaobiao',**result)
 

    

#希望大佬們能講的具體點然後多交流交流

给我你的怀抱
给我你的怀抱

全部回覆(2)
我想大声告诉你

@config (age)參數設定直接忽略了index.page的執行

迷茫

既然 on_start 的 @every 是一天,那麼self.crawl 中設定 age=12 * 60 * 60 半天是比较合适的,保证每次 every 肯定不会被 age 所限制。另外 @config(age=10 * 24 * 60 * 60),這是10天內不要再爬的意思啊。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!