mysql和python的链接

在学习mysql多看一些官方文档,再加上百度其中有很多。再加上mysql的可视化程序有很多,所以我这个小辣鸡就不献丑了......

这个程序是我在爬完糗事百科之后,就直接拿过来用的。我想把我爬下来的东西,存到数据库中。

#  -*- coding: utf-8 -*
import re
import urllib
import urllib2
import MySQLdb
import sys
reload(sys)
sys.setdefaultencoding('utf8')


for page in range(2,6):
    url = 'http://www.qiushibaike.com/hot/page/' + str(page)
    user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
    headers = { 'User-Agent' : user_agent }
    try:
        request = urllib2.Request(url,headers = headers)
        response = urllib2.urlopen(request)
        content = response.read().decode('utf-8')
        pattern = re.compile('.*?<h2>\n(.*?)\n</h2>.*?\n.*?<span>\n\n\n(.*?)\n</span>.*?<i class="number">(.*?)</i>.*?(.*?).*?<i class="number">(.*?)</i>',re.S)
        items = re.findall(pattern,content)
        for item in items:
            haveImg = re.search("img",item[3])
            if not haveImg:
                w=re.sub('<br/>',' ',item[1])
                print item[0],'|',w,item[2],'|',item[4]


                conn = MySQLdb.connect(
                                        host='127.0.0.1',
                                        port=3306,
                                        user='账号',
                                        passwd='密码',
                                        db='数据库名称',
                                        charset='utf8',
                                        )
                cur = conn.cursor()
                hot = "insert into 糗事百科(名字,正文,评论,好笑) values('%s','%s','%s','%s')" %(item[0],w,item[2],item[4])
                print hot
                cur.execute(hot)
                conn.commit()  #提交数据进数据库


                conn.close()  #关闭数据库

    except urllib2.URLError, e :
        if hasattr(e,"code"):
            print e.code
        if hasattr(e,"reason"):
            print e.reason

真是明白了不难,不明白就能把你难死...当懂了原理之后就会很简单。

其中要注意的是一定要先在数据库中建立好数据库名称。当然这是入门级别的一个小例子,注意for循环...







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值