亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

python爬蟲入門教程之糗百圖片爬蟲代碼分享

 更新時(shí)間:2014年09月02日 10:56:41   投稿:junjie  
這篇文章主要介紹了python爬蟲入門教程之糗百圖片爬蟲代碼分享,本文以抓取糗事百科內(nèi)涵圖為需求寫了一個(gè)爬蟲,,需要的朋友可以參考下

學(xué)習(xí)python少不了寫爬蟲,不僅能以點(diǎn)帶面地學(xué)習(xí)、練習(xí)使用python,爬蟲本身也是有用且有趣的,大量重復(fù)性的下載、統(tǒng)計(jì)工作完全可以寫一個(gè)爬蟲程序完成。

用python寫爬蟲需要python的基礎(chǔ)知識(shí)、涉及網(wǎng)絡(luò)的幾個(gè)模塊、正則表達(dá)式、文件操作等知識(shí)。昨天在網(wǎng)上學(xué)習(xí)了一下,寫了一個(gè)爬蟲自動(dòng)下載「糗事百科」里面的圖片。源代碼如下:

復(fù)制代碼 代碼如下:

# -*- coding: utf-8 -*-
# 上面那句讓代碼里支持中文

#--------------------------------------- 
#   程序:糗百圖片爬蟲 
#   版本:0.1 
#   作者:趙偉 
#   日期:2013-07-25 
#   語言:Python 2.7 
#   說明:能設(shè)置下載的頁數(shù)。沒有做更多抽象和交互方面的優(yōu)化。 
#---------------------------------------

import urllib2
import urllib
import re

#正則表達(dá)式,用來抓取圖片的地址
pat = re.compile('<div class="thumb">\\n<img src=\"(ht.*?)\".*?>')

#用來合成網(wǎng)頁的URL
nexturl1 = "http://m.qiushibaike.com/imgrank/page/"
nexturl2 = "?s=4582487&slow"

#頁數(shù)計(jì)數(shù)
count = 1

#設(shè)置抓取的頁數(shù)
while count < 3:

    print "Page " + str(count) + "\n"
    myurl = nexturl1 + str(count) + nexturl2
    myres = urllib2.urlopen(myurl)#抓取網(wǎng)頁
    mypage = myres.read()#讀取網(wǎng)頁內(nèi)容
    ucpage = mypage.decode("utf-8") #轉(zhuǎn)碼

    mat = pat.findall(ucpage)#用正則表達(dá)式抓取圖片地址
       
    count += 1;
   
    if len(mat):
        for item in mat:
            print "url: " + item + "\n"
            fnp = re.compile('/(\w+\.\w+)$')#下面三行分離出圖片文件的名稱
            fnr = fnp.findall(item)
            fname = fnr[0]
            urllib.urlretrieve(item, fname)#下載圖片
      
    else:
        print "no data"

使用方法:新建一個(gè)practice文件夾,將源代碼保存為qb.py文件,并放在practice文件夾中,在命令行里執(zhí)行python qb.py,即開始下載圖片??梢孕薷脑创a里面的while語句設(shè)置下載的頁數(shù)。

相關(guān)文章

最新評(píng)論