python小實例一:簡單爬蟲


本文所謂的爬蟲就是通過本地遠程訪問url,然后將url的讀成源代碼形式,然后對源代碼進行解析,獲取自己需要的數據,相當於簡單數據挖掘。本文實現的是將一個網頁的圖片爬出保存到本地的過程,例子很簡單,用的是python 3.5.2版本,以前的版本可能導入的包的名字不一樣,調用的庫函數方式有些差別。代碼如下:

#coding =utf-8
import urllib.request
import re

def getHtml(url):
	page = urllib.request.urlopen(url)  ##打開頁面
	html = page.read() ##獲取目標頁面的源碼
	return html

def getImg(html):
	reg = 'src="(.+?\.png)"'  ##正則表達式篩選目標圖片格式,有些是'data-original="(.+?\.jpg)"'
	img = re.compile(reg)
	html = html.decode('utf-8')  ##編碼方式為utf-8
	imglist = re.findall(img, html) ##解析頁面源碼獲取圖片列表
	#print(imglist)
	x = 0
	#length = len(imglist)
	for i in range(6):  ##取前6張圖片保存
		imgurl = imglist[i]
		#imgurl = re.sub('"(.*?)"',r'\1',imgurl) #取單引號里的雙引號內容
		#print(imgurl)
		urllib.request.urlretrieve(imgurl,'%s.jpg' % x) ##將圖片從遠程下載到本地並保存
		x += 1

global Max_Num
Max_Num = 1
##有時候無法打開目標網頁,需要嘗試多次,這里設置為1次
for i in range(Max_Num):
	try:
		html = getHtml("view-source:http://www.shangxueba.com/jingyan/2438398.html")
		getImg(html)
		break
	except:
		if i < Max_Num - 1:
			continue
		else:
			print ('URLError: <urlopen error timed out> All times is failed ')

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM