1. 程式人生 > >分享教程:搜索網站裏的圖片,檢查是否是無效圖片。

分享教程:搜索網站裏的圖片,檢查是否是無效圖片。

div ima 分享 html import true 正則表達式 some 網站

目前組裏面測試新同學很多時候不知道如何將自己學的編碼知識和測試場景實際結合起來,這裏拿1個實際例子,分析下過程。

  • 拿到1個需要編碼的測試需求,怎麽做

測試需求:公司網站裏面商品圖片很多是無效鏈接,檢查搜索出來,進行進一步處理。

一,思考:首先想下怎麽做?

  1. 思路:搜索出所有圖片鏈接----->訪問這些鏈接,查看response-------> http code 非 200 的為無效鏈接
  2. 用什麽語言:目前流行的語言java,Python,都可以做,最後選擇Python,處理類似爬蟲工作,python比較簡潔方便,而且庫很多。
  3. 不了解Python庫:查看經典庫 https://github.com/jobbole/awesome-python-cn,找到處理http請求的; 或者直接百度/google 搜索 Python url

技術分享圖片

二,怎麽找出網站裏的所有圖片鏈接

  1. 打開公司網站,右鍵---查看網站源代碼,會出來一大堆html code;我們就是要把裏面的圖片鏈接給找出來
  2. code:將網站的源代碼輸出到buffer,再進行出來處理
    import urllib2 #導入urllib2模塊
    req = urllib2.urlopen(‘https://www.zcy.gov.cn/‘)
    buf = req.read()
    print buf 
    技術分享圖片
       
  3. 查看裏面的圖片鏈接:可以觀察到圖片鏈接的主要形式:<img style="width: 100%" src="http://zcy-item.img-cn-hangzhou.aliyuncs.com//2017062111022565214060.png">
  4. 通過正則表達式來搜索:""<img\s.*?\s?src\s*=\s*[‘|"]?([^\s‘"]+).*?>""
  5. code:
    import re# 正則表達式模塊
    imagelist = re.findall(r"""<img\s.*?\s?src\s*=\s*[‘|"]?([^\s‘"]+).*?>""",buf)
    print imagelist
    
    輸出:[‘http://zcy-item.img-cn-hangzhou.aliyuncs.com//2017060816344209047406.png‘, ‘http://zcy-item.img-cn-hangzhou.aliyuncs.com//2017111717221734892422.gif‘。。。。。]
    

  6. 未完待續  

分享教程:搜索網站裏的圖片,檢查是否是無效圖片。