python如何實現簡單的爬蟲功能?Python學習教程!

老男孩IT教育機構發表於2021-01-12

  爬蟲對於大家都不陌生,被廣泛的應用於我們的日常生活以及工作中,那麼你知道如何利用Python實現爬蟲的簡單功能嗎?這裡為大家列舉一個簡單的示例。

  在我們日常上網瀏覽網頁的時候,經常會看到一些好看的圖片,我們就希望把這些圖片儲存下載,或者使用者用來做桌面桌布,或者用來做設計的素材。

  我們最常規的做法就是透過滑鼠右鍵,選擇另存為。但有些圖片滑鼠右鍵的時候並沒有另存為選項,還有辦法就透過就是透過截圖工具擷取下來,但這樣就降低圖片的清晰度。

  我們可以透過python 來實現這樣一個簡單的爬蟲功能,把我們想要的程式碼爬取到本地。下面就看看如何使用python來實現這樣一個功能。

  一,獲取整個頁面資料

  首先我們可以先獲取要下載圖片的整個頁面資訊。

  getjpg.py

  #coding=utf-8

  import urllib

  def getHtml(url):

  page = urllib.urlopen(url)

  html = page.read()

  return html

  html = getHtml(")

  print html

  Urllib 模組提供了讀取web頁面資料的介面,我們可以像讀取本地檔案一樣讀取www和ftp上的資料。首先,我們定義了一個getHtml()函式:

  urllib.urlopen()方法用於開啟一個URL地址。

  read()方法用於讀取URL上的資料,向getHtml()函式傳遞一個網址,並把整個頁面下載下來。執行程式就會把整個網頁列印輸出。

  二,篩選頁面中想要的資料

  Python 提供了非常強大的正規表示式,我們需要先要了解一點python 正規表示式的知識才行。

  假如我們百度貼吧找到了幾張漂亮的桌布,透過到前段檢視工具。找到了圖片的地址,如:src=””pic_ext=”jpeg”

  

  修改程式碼如下:

  import re

  import urllib

  def getHtml(url):

  page = urllib.urlopen(url)

  html = page.read()

  return html

  def getImg(html):

  reg = r'src="(.+?\.jpg)" pic_ext'

  imgre = re.compile(reg)

  imglist = re.findall(imgre,html)

  return imglist

  html = getHtml(")

  print getImg(html)

  我們又建立了getImg()函式,用於在獲取的整個頁面中篩選需要的圖片連線。re模組主要包含了正規表示式:

  re.compile() 可以把正規表示式編譯成一個正規表示式物件.

  re.findall() 方法讀取html 中包含 imgre(正規表示式)的資料。

  執行指令碼將得到整個頁面中包含圖片的URL地址。

  三,將頁面篩選的資料儲存到本地

  把篩選的圖片地址透過for迴圈遍歷並儲存到本地,程式碼如下:

  #coding=utf-8

  import urllib

  import re

  def getHtml(url):

  page = urllib.urlopen(url)

  html = page.read()

  return html

  def getImg(html):

  reg = r'src="(.+?\.jpg)" pic_ext'

  imgre = re.compile(reg)

  imglist = re.findall(imgre,html)

  x = 0

  for imgurl in imglist:

  urllib.urlretrieve(imgurl,'%s.jpg' % x)

  x+=1

  html = getHtml(")

  print getImg(html)

  這裡的核心是用到了urllib.urlretrieve()方法,直接將遠端資料下載到本地。

  透過一個for迴圈對獲取的圖片連線進行遍歷,為了使圖片的檔名看上去更規範,對其進行重新命名,命名規則透過x變數加1。儲存的位置預設為程式的存放目錄。

  程式執行完成,將在目錄下看到下載到本地的檔案。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2749256/,如需轉載,請註明出處,否則將追究法律責任。

相關文章