python - 網頁更新數據之后無法再次抓取
問題描述
我抓取的網頁今天更新了一條信息,然后爬蟲運行了卻沒有抓取到.
from pyspider.libs.base_handler import *from pyspider.database.mysql.mysqldb import SQLclass 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 resultif not result or not result[’title’]: returnsql = SQL()sql.replace(’zhaobiao’,**result)
希望大佬們能講的具體點然后多交流交流
問題解答
回答1:@config (age)參數設定直接忽略了index.page的執行
回答2:既然 on_start 的 @every 是一天,那么self.crawl 中設置 age=12 * 60 * 60 半天是比較合適的,保證每次 every 肯定不會被 age 所限制。另外 @config(age=10 * 24 * 60 * 60),這是10天內不要再爬的意思啊。
相關文章:
1. MYSQL 根據兩個字段值查詢 但兩個值的位置可能是互換的,這個怎么查?2. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?3. mysql replace 死鎖4. mysql - C#連接數據庫時一直這一句出問題int i = cmd.ExecuteNonQuery();5. javascript - 微信網頁開發從菜單進入頁面后,按返回鍵沒有關閉瀏覽器而是刷新當前頁面,求解決?6. extra沒有加載出來7. android - 安卓做前端,PHP做后臺服務器 有什么需要注意的?8. python - 數據與循環次數對應不上9. php傳對應的id值為什么傳不了啊有木有大神會的看我下方截圖10. mysql - ubuntu開啟3306端口失敗,有什么辦法可以解決?
