python寫網路爬蟲

來源:互聯網
上載者:User

本文代碼來自中穀教育鄒琪鮮老師的視頻,地址http://www.csvt.net/resource/video/6844/largesize

註:本文旨在練習Regex的簡單使用方法

#!/usr/bin/evn python

# -*- coding: cp936 -*-

import re                  #匯入Regex模組
import urllib              #匯入urllib模組,讀取頁面與下載頁面需要用到

def getHtml(url):           #定義getHtml()函數,用來擷取頁面原始碼
    page = urllib.urlopen(url)    #urlopen()根據url來擷取頁面原始碼
    html = page.read()           #從擷取的對象中讀取內容
    return html

def getImage(html):  #定義getImage()函數,用來擷取圖片地址並下載
    reg = r'src=\'#\'" width'   #定義匹配圖片地址的url的Regex
    imgre = re.compile(reg)   #對Regex進行編譯,運行效率更高
    imagelist = imgre.findall(html)  #使用findall()尋找html中匹配Regex的圖片url
    x = 0
    for imageurl in imagelist:
        urllib.urlretrieve(imageurl,'picture_%s.jpg' % x)  #urlretrieve()下載檔案
        x +=1

uri = raw_input("請輸入網址: ")
r = r'^http://'
if re.match(r,uri):
    html2 = getHtml(uri)
else:
    html2 = getHtml("http://" + uri)
getImage(html2)

運行指令碼test.py

650) this.width=650;" style="width: 547px; height: 331px" border="0" alt="" width="519" height="345" src="http://www.bkjia.com/uploads/allimg/131228/1151444E0-0.jpg" />

抓取到的圖片如下:

650) this.width=650;" border="0" alt="" src="http://www.bkjia.com/uploads/allimg/131228/1151442K9-1.jpg" />

 

 

本文出自 “趙海華_營運之路” 部落格,請務必保留此出處http://baiying.blog.51cto.com/1068039/1169299

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.