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()