爬蟲---Beautiful Soup 爬取圖片

  上一篇簡單的介紹Beautiful Soup 的基本用法,這一篇寫下如何爬取網站上的圖片,並保存下來html

 

爬取圖片

1.找到一個福利網站:http://www.xiaohuar.com/list-1-1.html網站

2.經過F12進行定位圖片url

3.經過下圖能夠看到標籤爲img,而後經過width="210"的屬性spa

 

爬取方法

1.經過find_all()的方法進行查找圖片位置code

2.篩選出圖片的URL和圖片名稱htm

3.篩選後會發現其中有一些圖片URL不完整對象

4.這個時候須要在代碼中加一個判斷,如何URL不完整 咱們就給他補充完整blog

import requests from bs4 import BeautifulSoup import os # 請求地址
url = 'http://www.xiaohuar.com/list-1-1.html' html = requests.get(url).content # BeautifulSoup 實例化
soup  = BeautifulSoup(html,'html.parser') jpg_data = soup.find_all('img',width="210") for i in jpg_data: data = i['src'] name = i['alt'] # 判斷URL是否完整
    if "https://www.dxsabc.com/" not in data: data = 'http://www.xiaohuar.com'+ data

 

保存圖片

1.判斷一個文件夾是否存在,不存在就從新建立圖片

2.request模塊請求圖片的URLutf-8

3.經過content返回圖片二進制,進行寫入文件夾中

# coding:utf-8
import requests from bs4 import BeautifulSoup import os # 建立一個文件夾名稱
FileName = 'tupian'
if not os.path.exists(os.path.join(os.getcwd(), FileName)):     # 新建文件夾 
     print(u'建了一個名字叫作', FileName, u'的文件夾!') os.mkdir(os.path.join(os.getcwd(),'tupian')) else: print(u'名字叫作', FileName, u'的文件夾已經存在了!') url = 'http://www.xiaohuar.com/list-1-1.html' html = requests.get(url).content    # 返回html
soup  = BeautifulSoup(html,'html.parser')   # BeautifulSoup對象
jpg_data = soup.find_all('img',width="210") # 找到圖片信息
for i in jpg_data: data = i['src'] # 圖片的URL
    name = i['alt'] # 圖片的名稱
    if "https://www.dxsabc.com/" not in data: data = 'http://www.xiaohuar.com'+data r2 = requests.get(data) fpath = os.path.join(FileName,name) with open(fpath+'.jpg','wb+')as f : # 循環寫入圖片
 f.write(r2.content) print('保存成功,快去查看圖片吧!!')

圖片就不貼了,喜歡的能夠本身動手寫一寫。

相關文章
相關標籤/搜索