#!/usr/bin/env python
# -*- encoding: utf-8 -*-
# Created on 2018-03-30 09:20:41
# Project: IvskyDemo
from pyspider.libs.base_handler import *
class MysqlWirter(object):
def __init__(self):
self.db = '创建db对象'
def insert_result(self,result):
# 将result数据写入数据库
pass
def __del__(self):
# 关闭数据库
# self.db.close()
pass
class Handler(BaseHandler):
# 准备请求头
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0',
'Host':'www.ivsky.com'
}
crawl_config = {
}
mysql = MysqlWirter()
@every(minutes=24 * 60)
def on_start(self):
self.crawl(
'www.ivsky.com/tupian/',
callback=self.big_categray,
headers = self.headers
)
@config(age=10 * 24 * 60 * 60)
def big_categray(self, response):
# for循环遍历找到的所有标签
for each in response.doc('.tpmenu>li>a').items():
# 创建一个新的爬取任务
self.crawl(
# 获取标签的href属性值,把属性值作为url创建新任务
each.attr.href,
callback=self.small_categray,
# save 可以将数据传递到下一个回调函数中,类似于scrapy中的meta
save = {'big_cate':each.text()}
)
def small_categray(self, response):
'''
解析小分类
:param response:
pyspider+MongoDB简单操作
最新推荐文章于 2021-02-02 22:29:02 发布
这是一个使用pyspider框架爬取图片网站数据的示例,通过MysqlWirter和MongoWriter类实现数据存储到MySQL和MongoDB。程序首先设置请求头,然后定义爬取起始URL,逐层解析获取大分类、小分类和图片详情,最后将抓取结果存储到数据库。
摘要由CSDN通过智能技术生成