网页更新数据之后无法再次抓取

我抓取的网页今天更新了一条信息,然后爬虫运行了却没有抓取到.

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)

图片描述

希望大佬们能讲的具体点然后多交流交流

回答:

@config (age)参数设定直接忽略了index.page的执行

回答:

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

以上是 网页更新数据之后无法再次抓取 的全部内容, 来源链接: utcz.com/a/159239.html

回到顶部