• 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 ')
    

      

  • 相关阅读:
    mac下copy paste
    【leetcode】151. 颠倒字符串中的单词
    【leetcode】42. 接雨水
    【leetcode】239. 滑动窗口最大值
    【leetcode】 15. 三数之和
    【leetcode】18. 四数之和
    go env设置环境变量不起作用
    WSL2的迁移、默认设置、ssh、固定IP
    Shell的环境变量
    MOS, CMOS, 双向开关, PAD
  • 原文地址:https://www.cnblogs.com/xqn2017/p/8024467.html
Copyright © 2020-2023  润新知