scrapy对爬取的内容进行更新爬取

在爬虫爬取的过程中,第一次爬完了,下次继续爬取,接着上次的爬取,怎么办,例如爬取小说,小说更新了,爬取更新的内容

由于我使用的是mysql数据库,本文采取mysql中的机制进行,存在不爬取,不存在,爬取

在爬虫代码中新增
#这个是链接数据库使用的
db = pymysql.connect(
            host='localhost',
            database='novellist',
            user='root',
            password='123456',
            port=5200,
            charset='utf8mb4',
            cursorclass=pymysql.cursors.DictCursor,
            use_unicode=True
        )

#调用mysql中的方法检查mysql中是否存在,不存在更新
url = response.urljoin(chapter_url[0])   #这个是判断条件,可以根据字段进行
with db.cursor() as cursor:    #执行sql
          sql = "SELECT chapter_url from chapter_ceshi where chapter_url=%s"
          cursor.execute(sql,(url))
          result = cursor.fetchone()  #这步一定记住是fetchone
          if result == None:    #这步是,如果数据库中为空,执行下面

直接写在parse方法里就行了

你可能感兴趣的:(scrapy对爬取的内容进行更新爬取)