生活随笔
收集整理的這篇文章主要介紹了
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;
轉載于:https://blog.51cto.com/yujianglei/1771143
總結
以上是生活随笔為你收集整理的python爬虫抓取51cto博客大牛的文章保存到MySQL数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。