用python3.x與mysql資料庫構建簡單的爬蟲系統

來源:互聯網
上載者:User

標籤:

這是在部落格園的第一篇文章,由於本人還是一個編程菜鳥,也寫不出那些高大上的牛逼文章,這篇文章就是對自己這段時間學習python的一個總結吧。

  眾所周知python是一門對初學編程的人相當友好的程式設計語言,就像本屌絲一樣,一學就對它產生好感了!當然,想要精通它還有很多東西需要學習。那廢話不多說了,下面我就來說一下如何用python3.x與mysql資料庫構建一個簡單的爬蟲系統(其實就是把從網頁上爬下來的內容儲存到mysql資料庫中)。

首先就是搭建環境了,這裡就簡介紹一下我的環境吧。原生作業系統是win7,python版本是3.3,mysql資料庫版本是5.6,mysql-wokebench版本是5.2。

環境搭建完後,就可以開始來寫爬蟲了。這裡實驗的網站是鼠繪動漫網(本人是個漫畫迷^_^)。先去網站踩點,尋找我們需要的內容,這裡我只需要耙梳站的每一話

漫畫的名字與各漫畫的圖片連結。下面就直接上代碼啦

 

import urllib.requestimport refrom mysql.connector import *#爬取整個網頁的方法def open_url(url):    req=urllib.request.Request(url)    respond=urllib.request.urlopen(req)    html=respond.read().decode(‘utf-8‘)    return html#爬取每個頁面中每一話漫畫對應的連結def get_url_list(url):    html=open_url(url)    p=re.compile(r‘<a href="(.+)" title=".+ <br>.+?">‘)    url_list=re.findall(p,html)    return url_list#自動進入每一話漫畫對應的連結中爬取每一張圖片對應的連結並插入到mysql資料庫def get_img(url):    #擷取每個頁面中每一話漫畫對應的連結    url_list=get_url_list(url)    #串連mysql資料庫    conn=connect(user=‘root‘,password=‘‘,database=‘test2‘)    #建立遊標    c=conn.cursor()    try:        #建立一張資料庫表        c.execute(‘create table cartoon(name varchar(30) ,img varchar(100))‘)    except:        #count用來計算每一張網頁有多少行資料被插入        count=0        for each_url in url_list:                    html=open_url(each_url)            p1=re.compile(r‘<img src="(.+)" alt=".+?>‘)            p2=re.compile(r‘<h1>(.+)</h1>‘)            img_list=re.findall(p1,html)            title=re.findall(p2,html)            for each_img in img_list:                c.execute(‘insert into cartoon values(%s,%s)‘,[title[0],each_img])                count+=c.rowcount        print(‘有%d行資料被插入‘%count)    finally:        #提交資料,這一步很重要哦!        conn.commit()        #以下兩步把遊標與資料庫連接都關閉,這也是必須的!        c.close()        conn.close()                            num=int(input(‘前幾頁:‘))              for i in range(num):    url=‘http://www.ishuhui.com/page/‘+str(i+1)    get_img(url)                                        

這是資料庫的結果:

代碼已經注釋的很清晰了。這裡需要注意的是要去下載mysql-connector-python模組,這是一個python與mysql串連的模組,直接

pip install mysql-connector-python --allow-external mysql-connector-python  

可以看出用python寫爬蟲並把資料存入資料庫是很簡單的,這也是python優雅的地方!當然,這隻是一個很簡單的爬蟲系統,還有很多細節要去完善,只適合小
資料。但是學習都是從簡單的開始嘛。


http://www.cnblogs.com/tester-zhenghan/p/4887838.html

用python3.x與mysql資料庫構建簡單的爬蟲系統(轉)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.