注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

c32's blog

每天学习一点点,每天进步一点点.

 
 
 
 
 

日志

 
 

python爬虫-自动翻页-写入数据库  

2015-11-24 00:39:31|  分类: Python |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : c32 (amd5@qq.com)
# @blog    : http://cx7863.blog.163.com/
# @Version : 1.0  @Date    : 2015-11-24 00:32:25
import urllib2
import re
import os
import MySQLdb

conn = MySQLdb.connect(host='localhost', user='root',
                    passwd='root', db='test', port = 3306, charset = 'utf8')

def getHtml(url):   #获取html源码
    page = urllib2.urlopen(url)
    html = page.read()
    return html
 
def urlPages(page):     #翻页
    url = 'http://www.cnblogs.com/sitehome/p/' + str(page)
    #print url
    return url
 
def findList(html):     #正则匹配列表
    myItems = re.findall('<h3><a class="titlelnk" href="(.*?)" target="_blank">(.*?)</a></h3>', html, re.S)
    return myItems
 
for page in range(1, 10+1):    #抓取的页数
    html = getHtml(urlPages(page))
    items = findList(html)
    for item in items:
        s = item[0] +' '+ item[1] + '\n'
        # print item[0]
        file_object = open('list.txt', 'a')
        # file_object.write(s)    #写到本地文本
        file_object.close()
        print item[1]
# print html              #读出源代码
# print item              #匹配正则后的结果

cur = conn.cursor()
cur.execute('insert into python(url,title) values(%s,%s)',(item[0],item[1]))
conn.commit()
# print 'success connect'
# print 'sqltemp'

cur.close()
conn.close()

数据库结构

/*
Navicat MySQL Data Transfer

Source Server : 192.168.1.10_3306
Source Server Version : 50022
Source Host : 192.168.1.10:3306
Source Database : test

Target Server Type : MYSQL
Target Server Version : 50022
File Encoding : 65001

Date: 2016-08-04 22:04:53
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for python
-- ----------------------------
DROP TABLE IF EXISTS `python`;
CREATE TABLE `python` (
`url` varchar(255) default NULL,
`title` varchar(255) default NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;



  评论这张
 
阅读(61)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017