爬虫对于大家都不陌生,被广泛的应用于我们的日常生活以及工作中,那么你知道如何利用Python实现爬虫的简单功能吗?这里为大家列举一个简单的示例。

在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材。

我们Z常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。

我们可以通过python 来实现这样一个简单的爬虫功能,把我们想要的代码爬取到本地。下面就看看如何使用python来实现这样一个功能。

一,获取整个页面数据

首先我们可以先获取要下载图片的整个页面信息。

getjpg.py

#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

Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据。首先,我们定义了一个getHtml()函数:

urllib.urlopen()方法用于打开一个URL地址。

read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来。执行程序就会把整个网页打印输出。

二,筛选页面中想要的数据

Python 提供了非常强大的正则表达式,我们需要先要了解一点python 正则表达式的知识才行。

假如我们百度贴吧找到了几张漂亮的壁纸,通过到前段查看工具。找到了图片的地址,如:src=”http://imgsrc.baidu.com/forum......jpg”pic_ext=”jpeg”

修改代码如下:

import re

import urllib

def getHtml(url):

page = urllib.urlopen(url)

html = page.read()

return html

def 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)

我们又创建了getImg()函数,用于在获取的整个页面中筛选需要的图片连接。re模块主要包含了正则表达式:

re.compile() 可以把正则表达式编译成一个正则表达式对象.

re.findall() 方法读取html 中包含 imgre(正则表达式)的数据。

运行脚本将得到整个页面中包含图片的URL地址。

三,将页面筛选的数据保存到本地

把筛选的图片地址通过for循环遍历并保存到本地,代码如下:

#coding=utf-8

import urllib

import re

def getHtml(url):

page = urllib.urlopen(url)

html = page.read()

return html

def 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)

这里的核心是用到了urllib.urlretrieve()方法,直接将远程数据下载到本地。

通过一个for循环对获取的图片连接进行遍历,为了使图片的文件名看上去更规范,对其进行重命名,命名规则通过x变量加1。保存的位置默认为程序的存放目录。

程序运行完成,将在目录下看到下载到本地的文件。

老男孩python培训怎么样_Python如何实现爬虫?老男孩Python相关推荐

  1. Python培训教程分享:visual studio编写python怎么样?

    本期小编要为大家介绍的Python培训教程就是关于"visual studio编写python怎么样?"的问题,但答案当然是可以的,据了解,vs2017.vs2019都集成了pyt ...

  2. Python培训教程分享:“高效实用” 的Python工具库

    作为一名合格Python技术员,对于Python工具库的使用是少不了的,本期Python培训教程就为大家分享的是""高效实用" 的Python工具库",希望能够 ...

  3. 学好python工资一般多少-参加Python培训就业薪资是多少?老男孩学Python好吗?

    学习Python和Java哪个好?这个问题困扰了很多IT从业者,这两种开发语言,目前在互联网上的需求量都比较大,就业薪资待遇也都挺好的,那么,想从事IT编程工作选择学习哪个好呢? Java是一门资深的 ...

  4. 免费python课程排行榜-Python培训机构排行榜哪家更好?老男孩Python全栈开发

    Python语言可谓是一个全能的编程语言,具有非常丰富的第三方库,可以解决各类问题的发生.而且无论实现什么功能,都有现成的库可以使用,给我们带来了很大的帮助,也成为了很多人的首要选择. 学习Pytho ...

  5. python培训学习方法_python编程学习方法及技术进阶建议

    一.学习python编程基础步骤 1. 建立python环境.python版本的选择,个人强烈推荐pyhton3.因为python2会在2020年停止支持,以及官方在python3上的推动和pytho ...

  6. python培训出来的有公司要吗-python培训机构出来好就业吗

    整体来说,当前市场上的Python培训机构是鱼龙混杂,教学质量参差不齐,那么对Python学习者来说最关心的就是教学质量,能不能学到技术或者是学完后是否好就业找工作等.那么针对学习者关心这些问题下面给 ...

  7. python培训出来的有公司要吗-Python培训讲师靠谱吗

    随着人工智能时代呼声渐起,Python凭借其入门简单.应用广泛的优势成为很多想要入行互联网行业的人们的首选编程语言.如果你想学一门语言,可以从语言的适用性.学习的难易程度.企业主的要求几个方面考虑.从 ...

  8. python培训好学吗-开平北大青鸟:Python培训怎么选?Python好学吗?

    Python作为近两年随着人工智能一道火起来的语言,很多人知道Python,但是并不清楚的了解.你可能听说过C语言,听说过java语言,php语言,web语言甚至数据库sql语言但其实这些语言都没有p ...

  9. 马哥python培训靠谱吗马哥教育python课程再次革命性升级

    2019 年初,马哥教育迎来一次"大升级"-- 2019 全新Python全能新版课程大纲正式上线.历时半年,走访100+互联网企业,挖掘企业真实需求,腾讯,阿里专家亲自参与设计, ...

  10. 成都Python培训哪家好?市面上的Python脱产培训要多久?

    Python编程是一个十分系统的技术体系,有时候光靠看书和网上的视频,只能是一知半解,遇到问题,没有人给你讲解其中的原理和流程,那么对于整个技术点的理解就永远不会通透.所以很多人就选择Python脱产 ...

最新文章

  1. CoGAN 和 SeGAN
  2. Grunt安装中遇到的问题汇总
  3. 微信公众号新功能-原创声明、赞赏功能、评论管理、页面模版
  4. Hystrix框架设计与实现
  5. java链式栈_Java栈之链式栈存储结构实现
  6. Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)
  7. 【网络编程】之三、socket网络编程
  8. java scanner_Java Scanner nextLong()方法与示例
  9. (51)蓝湖团队协作开发平台
  10. 数据湖探索DLI新功能:基于openLooKeng的交互式分析
  11. Windows下安装Redmine
  12. Linux 网络编程基础(一) ---------------客户端/服务器的简单实现
  13. mysql遵循acid_关系型数据库遵循ACID规则
  14. 转发 JBPM工作流小结
  15. oracle matlab函数返回值,如何实现在Oracle中应用存储过程调用MatLab函数(2)
  16. TCP中 滑动窗口RWND 和 拥塞窗口 CWND的区别
  17. 手写的计算机论文范文,手写2000论文格式模板_科技论文手写格式模板
  18. ffmpeg遇到Non-monotonous DTS in output stream的问题
  19. blackscholes matlab,基于MATLAB的Black-Scholes-Merton欧式期权定价模型的计算研究
  20. 操作系统OS-Lab2-FAT12文件读取

热门文章

  1. 细节至上——Splus微博设计之界面篇(转)
  2. stagefright框架
  3. Docker镜像与容器的常用操作
  4. android 沙盒双开 微信,微信双开回来了,还不会被封号
  5. PTCMS4.2.8小说网站源码模板
  6. 快40岁了,我还要不要继续写代码呢?
  7. java音频下载_java 实现网易云音乐下载和播放
  8. jquerymp3文件下载_前端实现文件下载所有方式
  9. ipad坏点测试软件,购买需谨慎 漏光坏点都要看_平板电脑评测-中关村在线
  10. 值得一看的Spring实战 (第5版)上!!笔者强力推荐!!