国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

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

2020-02-23 05:46:21
字體:
來源:轉載
供稿:網友

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

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

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

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

import urllib2
import urllib
import re

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

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

#頁數計數
count = 1

#設置抓取的頁數
while count < 3:

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

    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文件夾中,在命令行里執行python qb.py,即開始下載圖片。可以修改源代碼里面的while語句設置下載的頁數。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙坪坝区| 新建县| 武汉市| 广州市| 油尖旺区| 延庆县| 探索| 堆龙德庆县| 北安市| 佛山市| 阳曲县| 松江区| 宿州市| 冷水江市| 成武县| 兰西县| 银川市| 广安市| 阳新县| 阜新| 金门县| 彭水| 友谊县| 冷水江市| 广南县| 玉树县| 忻州市| 天门市| 和政县| 乌鲁木齐县| 五莲县| 中山市| 新兴县| 北安市| 石阡县| 营口市| 中方县| 呈贡县| 浮梁县| 麻城市| 大方县|