mysqldb模块的简单用法
# - *- coding:utf-8-*-
import urllib2
import re import MySQLdb
import sys
reload(sys)
sys.setdefaultencoding('utf-8') class SQL(object):
conn=MySQLdb.connect(host="localhost",
port=3306,
user="root",
passwd="123",
db="test",
charset="utf8",) #转换成utf8若没有则会出来乱码
def insert(self,name,content): #函数的调用
cur=self.conn.cursor()
cur.execute("insert into xiaoshuo VALUES (NULL ,'%s','%s')"%(name,content)) #变量插入的形式 name是数据库表中的参数
cur.close()
self.conn.commit() mysql=SQL()#实例化类
User_Agent= 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0'
url="http://book.qidian.com/info/3608595"
headers={'User-Agent':User_Agent}
request=urllib2.Request(url,headers=headers)
htmll=urllib2.urlopen(request).read() reg=re.compile(r'<li data-rid=".*?"><a href="(.*?)" target="_blank" data-eid="qd_G55" data-cid=".*?" title=".*?">(.*?)</a>')
titles=re.finditer(reg,htmll)
for i in titles:
curl_=i.group(1)
name=i.group(2) print "正在爬取%s本"%name
htmlll=urllib2.urlopen('http:'+curl_).read()
regs=re.compile(r'<div class="read-content j_readContent">\s*([\s\S]*?)\s*</div>')
contents=re.findall(regs,htmlll) for m in contents:
content=m.replace('<p>','\r\n')
mysql.insert(name,content) #在数据库插入数据 name,content 和上边函数中的name不同,这是爬虫取到的name print "已完成%s"%name
mysql.conn.close() #关闭数据库 mysql数据库小知识点
创建表格
cur.execute("create table student(id int ,name varchar(20),class varchar(30),age varchar(10))")
小说的内容应为text格式,不用填写len 最长的len是255 type(str)若字符长度小就用varchar
#插入一条数据
#cur.execute("insert into student values('2','Tom','3 year 2 class','9')") #修改查询条件的数据
#cur.execute("update student set class='3 year 1 class' where name = 'Tom'") #删除查询条件的数据
#cur.execute("delete from student where age='9'")
mysqldb模块的简单用法的更多相关文章
- python制作简单excel统计报表2之操作excel的模块openpyxl简单用法
python制作简单excel统计报表2之操作excel的模块openpyxl简单用法 # coding=utf-8 from openpyxl import Workbook, load_workb ...
- Python中time和datetime模块的简单用法
python中与时间相关的一个模块是time模块,datetime模块可以看为是time模块的高级封装. time模块中经常用到的有一下几个方法: time()用来获取时间戳,表示的结果为从1970年 ...
- Python#常用的模块和简单用法
目录 random 随机模块 os 文件夹模块: time 时间模块: matplotlab.pyplot 作图模块 mpl_toolkits.mplot3d 绘制3D图模块 Pygame Reque ...
- python3中time模块与datetime模块的简单用法
__author__ = "JentZhang" import time # Timestamp 时间戳 print("Timestamp 时间戳:") pri ...
- datetime模块的简单用法
import datetime print(datetime.datetime.today()) #2018-08-14 14:18:28.575412 print(datetime.date.tod ...
- python optparse模块的简单用法
# coding = utf-8 from optparse import OptionParser from optparse import OptionGroup usage = 'Usage: ...
- python模块turtle简单用法
##初始化turtle:t = turtle.Turtle() 或者 t = turtle.Pen()##查询turtle状态#位置t.position() #箭头朝向,箭头朝向按照顺时针或者逆时针偏 ...
- python中MySQLdb模块用法实例
篇文章主要介绍了python中MySQLdb模块用法,以实例形式详细讲述了MySQLdb模块针对MySQL数据库的各种常见操作方法,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了python中 ...
- python timeit模块简单用法
timeit模块提供了一种简便的方法来为Python中的小块代码进行计时. 模块调用函数,stmp为要测试的函数,setup为测试环境,number为运行次数 timeit.timeit(stmt=) ...
随机推荐
- JavaWeb用Jdbc操作MySql数据库(二)
一.仍然使用前面的环境和示例数据库. 二.建立发出注册请求的页面index3.jsp. <%@ page language="java" import="java. ...
- Java 报表之JFreeChart(第二讲)
1.利用 JFreeChart 创建按颜色分类的水果销售报表 package com.wcy.chart.bar; import javax.servlet.http.HttpSession; imp ...
- xampp 文件夹拷贝的注意事项。
xampp可以同盘符拷贝,比如由A电脑的D:\XAMPP拷贝到B电脑的D:\XAMPP,此拷贝不用修改任何设置,当进行不同盘拷贝时,要修改apache和mysql下的一大堆conf文件,修改盘符: x ...
- vb6获取字符串长度
用过VB5.0或者更早版本的读者应该知道VB有一个测试字符串长度的函数: Len.但当你升级到VB6时,会发现这里的Len并没有以前那么好用了——它变成了测试字符个数而不是字符串长度.就是说,当你用以 ...
- cdr创建样式与样式集的方法
样式是一组定义对象属性的格式化属性,如轮廓或填充.例如,要定义轮廓样式,您可以指定轮廓宽度.颜色和线条类型等属性.要定义字符样式,您可以指定字体类型.字体样式和大小.文本颜色和背景色.字符位置.大写等 ...
- CentOS6.8 MySQL 5.6实现主从复制
主库操作 1.将mysqldump命令添加到/usr/bin中 ln -s /application/mysql/bin/mysqldump /usr/bin/ 2.开启master上的log-bin ...
- 微信公众平台开发教程(八)Session处理
微信公众平台开发教程(八)Session处理 在微信窗口,输入的信息有限,我们需要将一些信息分多次请求. 比如:在进行用户绑定时,我们需要输入用户的相关信息,比如:用户名.密码,或者姓名.电话号码,服 ...
- access数据库select查询top时无效的解决办法
access数据库select查询top时有时无效,原因就是在使用Order by时,且排序的条件中数据有重复的. 比如:select top 10 * from table1 order by cd ...
- ADF_Data Binding系列3_使用Placeholder Data Control
2015-02-16 Created By BaoXinjian
- firefox与IE对js和CSS的区别(转http://log-cd.javaeye.com/blog/548665)
? "700px" : document.body.clientWidth>1000 ? "1000px" : "auto");// ...