python爬蟲抓取51cto博客大牛的文章保存到MySQL數據庫

腳本實現:獲取51cto網站某大牛文章的url,並存儲到數據庫中。


#!/usr/bin/env python
#coding:utf-8
from  bs4  import  BeautifulSoup
import urllib
import re
import MySQLdb
k_art_name = []
v_art_url = []
db = MySQLdb.connect('192.168.115.5','blog','blog','blog')
cursor = db.cursor()
for page in range(1,5):
page = str(page)
url = 'http://yujianglei.blog.51cto.com/all/7215578/page/'  + page
request = urllib.urlopen(url)
response = request.read()
response = unicode(response,'GBK').encode('UTF-8')
soup = BeautifulSoup(response,'html.parser')
a_tag = soup.find_all(href=re.compile("^/\d{7,}/\d{7,}$"))
for i  in a_tag:
art_name = i.string
art_url  = 'http://yujianglei.blog.51cto.com' + i['href']
k_art_name.append(art_name)
v_art_url.append(art_url)
if  len(k_art_name) == len(v_art_url):
number1 = len(k_art_name)
number2 = len(v_art_url)
for j in range(number1):
a = k_art_name[j]
b = v_art_url[j]
print a,b
sql = '''INSERT   INTO    blog_51cto  (art_name,art_url)  VALUES ("%s","%s")'''   %(a,b)
try:
cursor.execute(sql)
db.commit()
except Exception, e:
print e
db.rollback()
else:
print   'k_art_name:',   len(k_art_name)
print   'v_art_url:' ,   len(v_art_url)
cursor.close()
db.close()


# insert  into  blog_51cto   (art_name,art_url)  VALUES ("oracle 手動歸檔、自動歸檔、歸檔位置、歸檔進程","http://yujianglei.blog.51cto.com/7215578/1560485")
#CREATE DATABASE blog;
#CREATE TABLE `blog_51cto` (
#   `id` int(11) NOT NULL AUTO_INCREMENT,
#   `art_name` varchar(500) DEFAULT NULL,
#   `art_url` varchar(500) DEFAULT NULL,
#   PRIMARY KEY (`id`)
# ) ENGINE=InnoDB AUTO_INCREMENT=1609 DEFAULT CHARSET=utf8;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章