python - 網(wǎng)頁(yè)更新數(shù)據(jù)之后無(wú)法再次抓取
問(wèn)題描述
我抓取的網(wǎng)頁(yè)今天更新了一條信息,然后爬蟲(chóng)運(yùn)行了卻沒(méi)有抓取到.
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)
希望大佬們能講的具體點(diǎn)然后多交流交流
問(wèn)題解答
回答1:@config (age)參數(shù)設(shè)定直接忽略了index.page的執(zhí)行
回答2:既然 on_start 的 @every 是一天,那么self.crawl 中設(shè)置 age=12 * 60 * 60 半天是比較合適的,保證每次 every 肯定不會(huì)被 age 所限制。另外 @config(age=10 * 24 * 60 * 60),這是10天內(nèi)不要再爬的意思啊。
相關(guān)文章:
1. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)2. html按鍵開(kāi)關(guān)如何提交我想需要的值到數(shù)據(jù)庫(kù)3. HTML 5輸入框只能輸入漢字、字母、數(shù)字、標(biāo)點(diǎn)符號(hào)?正則如何寫(xiě)?4. javascript - 請(qǐng)教如何獲取百度貼吧新增的兩個(gè)加密參數(shù)5. gvim - 誰(shuí)有vim里CSS的Indent文件, 能縮進(jìn)@media里面的6. 跟著課件一模一樣的操作使用tp6,出現(xiàn)了錯(cuò)誤7. PHP類屬性聲明?8. javascript - JS請(qǐng)求報(bào)錯(cuò):Unexpected token T in JSON at position 09. objective-c - ios 怎么實(shí)現(xiàn)微信聯(lián)系列表 最好是swift10. java - 安卓接入微信登錄,onCreate不會(huì)執(zhí)行
