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. python - 爬蟲模擬登錄后,爬取csdn后臺文章列表遇到的問題2. 視頻文件不能播放,怎么辦?3. javascript - ios返回不執行js怎么解決?4. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處5. javascript - 為什么在谷歌控制臺 輸出1的時候,輸出的1立馬就不見了6. html5 - HTML代碼中的文字亂碼是怎么回事?7. mysql 查詢身份證號字段值有效的數據8. javascript - angular使從elastichearch中取出的文本高亮顯示,如圖所示9. javascript - 求幫助 , ATOM不顯示界面!!!!10. python bottle跑起來以后,定時執行的任務為什么每次都重復(多)執行一次?
