pymysql

scrapy爬取的数据异步存储至MySQL

匿名 (未验证) 提交于 2019-12-02 22:02:20
以scrapy爬虫爬取简书中全部的页面详情数据为例: 1.cmd执行scrapy 创建完爬虫项目后最好为其创建一个脚本启动文件start.py 文件在项目根目录即可 from scrapy import cmdline #启动爬虫命令 cmdline.execute('scrapy crawl js'.split()) 去配置文件更改默认的配置信息: 1.robot协议必须改为false ROBOTSTXT_OBEY = False 2.添加准备好的请求头信息,防止被网站识别: DEFAULT_REQUEST_HEADERS = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Language': 'en', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv 11.0) like Gecko', } 至此,新项目的配置完成,开始编写爬虫脚本。 先明确要获取的字段数据,在items完成: import scrapy class JbookItem(scrapy.Item): title = scrapy.Field() #标题 content = scrapy.Field() #内容

sql 注入风险

匿名 (未验证) 提交于 2019-12-02 22:02:20
Ŀ¼ 参考百度 准备材料 #创建一个用户表 create table userinfo(id int primary key auto_increment,name char(12) unique not null,pwd int not null); #写入一个用户信息用于下面实验 insert into userinfo(name,pwd) values('凯歌318',666); #表结构 mysql> select * from userinfo; +------+-----------+------+ | id | name | pwd | +------+-----------+------+ | 1 | 凯歌318 | 666 | +------+-----------+------+ 1 row in set (0.00 sec) 1.永远不要信任用户的输入。对用户的输入进行校验,能够通过正则表达式,或限制长度;对单引号和 双"-"进行转换等。检查输入的数据是否具有所期望的数据格式,严格限制变量的类型,例如使用regexp包进行一些匹配处理, 或者使用strconv包对字符串转化成其他基本类型的数据进行判断。 2.永远不要使用动态拼装sql,能够使用参数化的sql或者直接使用存储过程进行数据查询存取。 3.永远不要使用管理员权限的数据库连接

pymysql用法

匿名 (未验证) 提交于 2019-12-02 22:02:20
import pymysql   连接网页 conn = pymysql.connect('127.0.0.1', 'root', '123', '数据库名', charset='utf8')产生操作句柄光标,里面的设置参数产生一个字典mycursor=conn.cursor(pymysql.cursors.DictCursor)sql 查询语句sql = '''select * from userinfo where name=%s and password=%s'''写入查询语句sql ='insert into userinfo (user,pwd) values (%s,%s);'执行语句,同时传入mycursor.execute(sql,[参数1,参数2])获取一条结果res = mycursor.fetchone()

pymysql操作汇总

匿名 (未验证) 提交于 2019-12-02 22:02:20
## Python 中操作 MySQL 步骤 引入模块 在py文件中引入pymysql模块 from pymysql import * Connection 对象 用于建立与数据库的连接 创建对象:调用connect()方法 conn=connect(参数列表) 参数host:连接的mysql主机,如果本机是'localhost' 参数port:连接的mysql主机的端口,默认是3306 参数database:数据库的名称 参数user:连接的用户名 参数password:连接的密码 参数charset:通信采用的编码方式,推荐使用utf8 对象的方法 close()关闭连接 commit()提交 cursor()返回Cursor对象,用于执行sql语句并获得结果 Cursor对象 用于执行sql语句,使用频度最高的语句为select、insert、update、delete 获取Cursor对象:调用Connection对象的cursor()方法 cs1=conn.cursor() 对象的方法 close()关闭 execute(operation [, parameters ])执行语句,返回受影响的行数,主要用于执行insert、update、delete语句,也可以执行create、alter、drop等语句 fetchone()执行查询语句时,获取查询结果集的第一个行数据

python-连接数据库

痴心易碎 提交于 2019-12-02 19:37:10
一、安装pymysql库 方法一:在cmd运行窗口中使用命令: pip3 install pymysql 方法二:在pycharm中安装pymysql数据库 设置-project interpreter-双击“pip”-搜索‘pymysql’-点击安装 二、数据库的连接 引入pymysql方法包:import pymysql import pymysql#引入pymysql方法包 try: pymysql.connect('localhost','root','123','test') print('数据库连接成功') except pymysql.Error as e:#e为数据库连接失败的原因 print('数据库连接失败'+str(e)) 三、用python中创建一张新表的数据表 声明一个游标 创建表之前先检查是否存在,如存在先进行删除 编辑SQL语句 import pymysql#引入pymysql方法包 try: db=pymysql.connect('localhost','root','123','test1') print('数据库连接成功') cur=db.cursor()#声明一个游标 cur.execute('DROP TABLE IF EXISTS student')#如果数据表存在则进行删除int sql="CREATE TABLE Student(Id

python项目开发环境模块安装记录

此生再无相见时 提交于 2019-12-02 18:37:37
cms项目: pylint==2.4.3 yapf==0.28.0 #安装Flask Flask==1.1.1 #安装pymysql驱动 PyMySQL==0.9.3 #安装flask-sqlachemy Flask-SQLAlchemy==2.4.1 #安装Flask-Script Flask-Script==2.0.6 #安装flask-migrate Flask-Migrate==2.5.2 #安装表单验证组件wtforms WTForms==2.2.1 #安装PIL图像处理组件Pillow Pillow==6.2.1 #安装xpinyin xpinyin==0.5.6 来源: https://www.cnblogs.com/DesignerA/p/11758056.html

python 用pip安装模块

眉间皱痕 提交于 2019-12-02 18:11:45
1.在Windows 用 pip 安装 pymysql 前提条件: 1.安装python,配置好环境变量,我觉得要在计算机的系统配置是件很麻烦的事,所以在安装的过程中我直接选择配置环境变量了 2.确认是否装了pip,在python的安装目录下找到scripts文件夹,查看是否有pip.exe 安装方法:打开命令窗口,直接把pip.exe拖到命令窗口,然后敲上 “install pymysql” . 来源: https://www.cnblogs.com/kittyy/p/11756922.html

DjangoORM操作

浪子不回头ぞ 提交于 2019-12-02 16:25:50
目录 Django ORM Django ORM 连接数据库 使用PyCharm连接数据库 如果不在django中指定要使用的数据库,那么django中默认连接sqlite的数据库 该数据库功能不是很强大,尤其是对日期类型格式的数据,不是很兼容 django连接MySQL的两步配置 在settings文件中配置 DATABASES = { 'default':{ 'ENGINE':'django.db.backemds.mysql', 指定使用MySQL数据库 'NAME':'xxx', 指定MySQL中的指定库 'USER':'root', 用户名 'PASSWORD':'xxxxxx' 连接数据库的密码 'HOST':'127.0.0.1' 默认地址 'PORT':3306, 端口号 'CHARSET':'utf8' 使用的编码格式 } } 由于django默认使用的是mysqldb模块来连接数据库 但是改模块不兼容 不推荐使用告诉django使用pymysql模块连接数据库 ###在项目名的文件夹找到__init__文件或者在自己定义的应用名文件夹下的__init__都可以指定 import pymysql pymysql.install_as_MySQLdb() Django orm使用 我们在django中使用orm时,orm并不会帮你自动创建数据库

Django - installing mysqlclient error: mysqlclient 1.3.13 or newer is required; you have 0.9.3

。_饼干妹妹 提交于 2019-12-02 16:20:44
环境 Deepin Linux 15.11 Django 2.2 pymysql0.9.3 原因 因为用pymysql替换了默认的mysqlclient,Django官方推荐的数据库API driver是mysqlclient。 https://docs.djangoproject.com/en/2.2/ref/databases/#mysql-db-api-drivers 解决方法1 使用mysqlclient,去除pymysql 不要用 pymysql 。用mysqlclient。 安装方法: https://github.com/PyMySQL/mysqlclient-python#install 解决方法2 仍然使用pymysql 2.1 配置文件的目录中_ init_ .py中有如下代码 import pymysql pymysql.install_as_MySQLdb() # 这是一个hack,为了在Djano中替代默认的mysqlclient。mysqlclient官方描述:This is a fork of MySQLdb1 2.2 点进去install_as_MySQLdb 找到version_info变量,改成 version_info = (1, 3, 13, "final", 0) 2.3 改变django.db.backends.mysql

Django2-settings常用配置

左心房为你撑大大i 提交于 2019-12-02 16:04:21
1. MySQL 数据库连接 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'bms', # 要连接的数据库,连接前需要创建好 'USER': 'root', # 连接数据库的用户名 'PASSWORD': '', # 连接数据库的密码 'HOST': '127.0.0.1', # 连接主机,默认本级 'PORT': 3306, # 端口 默认3306 } } ### 由于Django和数据库的接口默认使用的是MySQLdb,这个东西是在python2版本中用的操作数据库的接口,现在我们使用python3了,MySQLdb不支持python3。所以我们必须告诉Django使用pymysql来代替MySQLdb来操作数据库。 # 操作方法:在与项目同名包的__init__下添加: import pymysql pymysql.install_as_MySQLdb() 2. csrf 配置(非必须) MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common