摘要:本文主要向大家介绍了如何用Python语言实现简单爬虫。通过具体的代码向大家展示,希望对大家学习Python语言有所帮助。
本文主要向大家介绍了如何用Python语言实现简单爬虫。通过具体的代码向大家展示,希望对大家学习Python语言有所帮助。
[python] view plain copy 1. import re 2. import urllib.request 3. 4. def getHtml(url): 5. page = urllib.request.urlopen(url) 6. html = page.read() 7. html=html.decode() 8. return html 9. 10. def getImg(html): 11. reg = r'src="(.+?\.jpg)" pic_ext' 12. #re.compile() 可以把正则表达式编译成一个正则表达式对象. 13. imgre = re.compile(reg) 14. #re.findall() 方法读取html 中包含 imgre(正则表达式)的数据。 15. imglist = re.findall(imgre,html) 16. x = 0 17. for imgurl in imglist: 18. urllib.request.urlretrieve(imgurl,'%s.jpg' % x) 19. x+=1 20. 21. html = getHtml("//tieba.baidu.com/p/2460150866") 22. 23. print (getImg(html))
Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:
urllib.request.urlopen()方法用于打开一个URL地址。
read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。
我们又创建了getImg()函数,用于在获取的整个页面中筛选需要的图片连接。re模块主要包含了正则表达式:
re.compile() 可以把正则表达式编译成一个正则表达式对象.
re.findall() 方法读取html 中包含 imgre(正则表达式)的数据。
运行脚本将得到整个页面中包含图片的URL地址。
把筛选的图片地址通过for循环遍历并保存到本地
这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。
通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。
程序运行完成,将在目录下看到下载到本地的文件。
以上就介绍了Python的相关知识,希望对Python有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言Python频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号