為了采集到大量圖片進行圖片分類的遷移學習斜脂,簡單的學習下python爬蟲技術(shù)削解,方便采集到大量圖片提高效率
1.獲取整個頁面數(shù)據(jù)
#coding=utf-8
import urllib
def getHtml(url):
? ? page = urllib.urlopen(url)
? ? html = page.read()
? ? return html
html = getHtml("http://tieba.baidu.com/p/2738151262")
print html
2.篩選頁面中想要的數(shù)據(jù)
import re
import urllib
def getHtml(url):
? ? page = urllib.urlopen(url)
? ? html = page.read()
? ? return htmldef getImg(html):
? ? reg = r'src="(.+?\.jpg)" pic_ext'? ??
? ? imgre = re.compile(reg)
? ? imglist = re.findall(imgre,html)
? ? return imglist? ? ?
html = getHtml("http://tieba.baidu.com/p/2460150866")
print getImg(html)
3.將頁面篩選的數(shù)據(jù)保存到本地
#coding=utf-8
import urllib
import re
def getHtml(url):
? ? page = urllib.urlopen(url)
? ? html = page.read()
? ? return htmldef 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("http://tieba.baidu.com/p/2460150866")
print getImg(html)
詳細解析看此鏈接
4.在簡單學習python爬蟲之后掠拳,自己寫的小例子
#!/usr/bin/python
#-*- coding: utf-8 -*-
#encoding=utf-8
import urllib2
import urllib
import os
from BeautifulSoup import BeautifulSoup
from urlparse import urlparse
def getAllImageLink():
? ? html = urllib2.urlopen('http://www.xiaohuar.com').read()
? ? '''
? ? ? ? fromEncoding參數(shù)說明
? ? ? ? 參數(shù)指定為:gb18030
? ? ? ? 解決問題:出現(xiàn)中文亂碼的現(xiàn)象
? ? '''
? ? soup = BeautifulSoup(html,fromEncoding="gb18030")
? ? liResult = soup.findAll('li')
? ? x=0
? ? for li in liResult:
? ? ? ? imageEntityArray = li.findAll('img')
? ? ? ? if len(imageEntityArray):
? ? ? ? ? ? for image in imageEntityArray:
? ? ? ? ? ? ? ? link = image.get('lazysrc')
? ? ? ? ? ? ? ? imageName = image.get('alt')
? ? ? ? ? ? ? ? obj = urlparse(link)
? ? ? ? ? ? ? ? scheme = obj.scheme
? ? ? ? ? ? ? ? # 篩選圖片并保存
? ? ? ? ? ? ? ? if link and imageName and scheme=='http' and obj.hostname=='www.xiaohuar.com':
? ? ? ? ? ? ? ? ? ? print link
? ? ? ? ? ? ? ? ? ? print imageName
? ? ? ? ? ? ? ? ? ? x+=1
? ? ? ? ? ? ? ? ? ? urllib.urlretrieve(link,'%s.jpg' % imageName)
if __name__ == '__main__':
? ? getAllImageLink()