MysqlDB具有断开自动重连特性,支持多线程下操作,内置连接池,最大连接数100。

from feapder.db.mysqldb import MysqlDB
db = MysqlDB(
    ip="localhost", port=3306, db="feapder", user_name="feapder", user_pass="feapder123"
)

若环境变量中配置了数据库连接方式或者setting中已配置,则可不传参。

db = MysqlDB()
或者
db = MysqlDB.from_url("mysql://username:password@ip:port/db?charset=utf8mb4")

MysqlDB封装了增删改查等方法,方便使用,但太复杂可以直接上sql

# -*- coding: utf-8 -*-
"""
Created on 2022-10-03 23:00:36
---------
@summary:
---------
@author: Administrator
"""

import feapder
from items import *
from feapder.db.mysqldb import MysqlDB

class FirstSpider(feapder.AirSpider):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.db = MysqlDB()
    def start_requests(self):
        yield feapder.Request("https://www.baidu.com")

    def parse(self, request, response):
        # 提取网站title
        print(response.xpath("//title/text()").extract_first())
        # 提取网站描述
        print(response.xpath("//meta[@name='description']/@content").extract_first())
        print("网站地址: ", response.url)
        item=feader1_item.Feader1Item()
        item.url=response.url
        sqll='select url from feader1'
        cc=self.db.find(sqll);
        print(cc)
        yield item
if __name__ == "__main__":
    FirstSpider().start()

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐