欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

復制代碼 代碼如下:

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

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

import urllib2
import urllib
import re

#正則表達式,用來抓取圖片的地址
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ù)計數(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)#用正則表達式抓取圖片地址
       
    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"

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

相關(guān)文章

  • python process模塊的使用簡介

    python process模塊的使用簡介

    在python中大部分情況需要使用多進程,python提供了multiprocessing模塊。multiprocessing模塊的功能眾多:支持子進程、通信和共享數(shù)據(jù)、執(zhí)行不同形式的同步,提供了Process、Queue、Pipe、Lock等組件。本文將著重講解process模塊的使用
    2021-05-05
  • Python?PaddleGAN實現(xiàn)調(diào)整照片人物年齡

    Python?PaddleGAN實現(xiàn)調(diào)整照片人物年齡

    這篇文章主要介紹了通過PaddleGAN實現(xiàn)照片人物的老年化和年輕化處理,文中的示例代碼講解有效,對我們學習或工作有一定的幫助,感興趣的可以學習一下
    2021-12-12
  • 解決Python中由于logging模塊誤用導致的內(nèi)存泄露

    解決Python中由于logging模塊誤用導致的內(nèi)存泄露

    這篇文章主要介紹了解決Python中由于logging模塊誤用導致的內(nèi)存泄露,針對由于過多的UDP連接所產(chǎn)生的問題,需要的朋友可以參考下
    2015-04-04
  • python實現(xiàn)時間o(1)的最小棧的實例代碼

    python實現(xiàn)時間o(1)的最小棧的實例代碼

    這篇文章主要介紹了python實現(xiàn)時間o(1)的最小棧的實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Python獲取時間戳代碼實例

    Python獲取時間戳代碼實例

    這篇文章主要介紹了Python獲取時間戳代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-09-09
  • 詳解Python with/as使用說明

    詳解Python with/as使用說明

    這篇文章主要介紹了Python with/as使用說明,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • 將Django使用的數(shù)據(jù)庫從MySQL遷移到PostgreSQL的教程

    將Django使用的數(shù)據(jù)庫從MySQL遷移到PostgreSQL的教程

    這篇文章主要介紹了將Django使用的數(shù)據(jù)庫從MySQL遷移到PostgreSQL的教程,同時提到了一些注意事項,需要的朋友可以參考下
    2015-04-04
  • 用python實現(xiàn)日志文件,并且按時間命名文件名方式

    用python實現(xiàn)日志文件,并且按時間命名文件名方式

    這篇文章主要介紹了用python實現(xiàn)日志文件,并且按時間命名文件名方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 使用matlab 判斷兩個矩陣是否相等的實例

    使用matlab 判斷兩個矩陣是否相等的實例

    這篇文章主要介紹了使用matlab 判斷兩個矩陣是否相等的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python篩選出兩個文件中重復行的方法

    python篩選出兩個文件中重復行的方法

    這篇文章主要為大家詳細介紹了python篩選出兩個文件中重復行的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05

最新評論