zoukankan      html  css  js  c++  java
  • 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*([sS]*?)s*</div>')
    contents=re.findall(regs,htmlll)

    for m in contents:
    content=m.replace('<p>',' ')
    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'")


  • 相关阅读:
    遭遇未知.Net加密壳
    mscorjit的介绍,兼对某壳企业版的分析
    mscorwks.dll在.Net中的地位以及在.Net代码保护方面的应用
    浅谈DotNet 保护中的字符串加密技术
    谈anti ILdasm的原理以及anit 框架API的可行性
    .Net 反射脱壳机核心源代码
    基于Html5的移动应用开发经验总结:第一篇架构选型篇(上)
    Windows 远程桌面服务开启
    求小于一个数n的所有数的阶乘
    uva 490 Rotating Sentences
  • 原文地址:https://www.cnblogs.com/ZHANG576433951/p/6115251.html
Copyright © 2011-2022 走看看