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

我们最常规的做法就是通过鼠标右键,选择另存为。但有些图片鼠标右键的时候并没有另存为选项,还有办法就通过就是通过截图工具截取下来,但这样就降低图片的清晰度。好吧~!其实你很厉害的,右键查看页面源代码。

我们可以通过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实现简单爬虫功能的示例相关推荐

  1. c语言课程设计之简易计算器,简易计算器课程设计 帮忙写简单计算器课程设计...

    帮忙写简单计算器课程设计书繁华若真如一梦,过而无痕多好,人就不必失意,只当醉了一场,醒来仍过平淡的生活. 程序 #include #include //定义atlf函数 #include 简介下的 要 ...

  2. python画折线图虚线_python绘制简单折线图代码示例

    1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt ...

  3. python实现简单爬虫百度首页_python实现简单爬虫功能的示例

    在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片鼠标右键的 ...

  4. python淘宝cookies抢购_python实现简单爬虫模拟登录淘宝(cookie简介)

    试验了一个晚上,python的小爬虫还是挺可爱的,简单几行就可以抓取网页了.如果你和我一样是新手,你可以先去http://blog.csdn.net/column/details/why-bug.ht ...

  5. python豆瓣电影top250爬虫课程设计_[教程]图文:爬虫爬取豆瓣电影top250

    window环境下 使用python脚本爬取豆瓣 环境安装 python python开发环境 jupyter python web IDE requests python requests模块用于向 ...

  6. python连数据库课程设计_python 连接操作 各类数据库

    摘要: 用Python写脚本也有一段时间了,经常操作数据库(MySQL),现在就整理下对各类数据库的操作,如后面有新的参数会补进来,慢慢完善. 一,python 操作 MySQL:详情见:这里 mac ...

  7. c语言实现爬虫功能,用C/C 扩展Python语言_python 调用c语言 python实现简单爬虫功能_python实现简单爬虫...

    用C/C 扩展Python语言 Python是一门功能强大的脚本语言,它的强大不仅表现在功能上,还表现在其扩展性上.她提供大量的API以方便程序员利用C/C++对Python进行扩展.因为执行速度慢几 ...

  8. 关于python爬虫课程设计

    文章目录 题目简介 目标定义 .流程图 4.实现/5.分析 全部代码 python爬虫课程设计 背单词吧 题目简介 大学四年中,必不可少的证就是英语四六级证书,我们的项目可以通过pycharm来对我们 ...

  9. java简单计算器课程设计_java仿windows简易计算器课程设计 源码+报告

    [实例简介] java仿windows简易计算器课程设计 源码+报告 课直接运行. [实例截图] [核心代码] Java课设-简易计算器 └── Java课设-简易计算器 ├── Java课程设计.d ...

最新文章

  1. Linux环境kafka安装
  2. .NET开发不可不知、不可不用的辅助类(三)(报表导出---终结版)
  3. 有兴趣的执行一下这段代码
  4. suse11/12关闭防火墙
  5. 进程通信学习笔记(System V消息队列)
  6. boost::generate相关的测试程序
  7. xd怎么制作年月日选项_Adobe XD从入门到精通(上)
  8. linux oracle脚本编写,Linux 脚本编写基础(一)--语法
  9. 基于JAVA+SpringMVC+Mybatis+MYSQL的学籍管理系统
  10. zookeeper 进入客户端_探究—Zookeeper的启动过程
  11. JWT-JSON WEB TOKEN使用详解及注意事项
  12. 【资料目录收藏】.NET开发必看资料53个 经典源码77个
  13. CMD-NET命令详解
  14. 无法从服务器获取视频文件,视频从云服务器获取视频文件
  15. 毕业论文答辩技巧及注意事项(附答辩自述模板)~
  16. S32K1XX系列单片机 ——(1)开发环境搭建
  17. TSO/GSO/LRO/GRO
  18. foxmail收取服务器邮件次数,迁移邮件服务器,导致foxmail等客户端重新将邮件都收一遍...
  19. openwrt定时任务 2021-10-08
  20. 辽宁省转升c语言考试真题,『2015年辽宁省考行测真题』2015年辽宁省考行测真题资料大全_2015年公务员辽宁省考行测真题及答案-华图教育...

热门文章

  1. Hibernate笔记——9.关联映射(下)
  2. 父子对等组之间的关系
  3. 不藏私分享五個線上自學平台
  4. python字典多层嵌套
  5. 《解释性机器学习》笔记(五):Rule Fit 规则拟合
  6. 2021fall Broadway Tech校招
  7. Hibernate 查询数据库中的数据
  8. 前四次作业--个人总结
  9. BZOJ - 3631 松鼠的新家 (树链剖分)
  10. 数据结构 第三周第四周学习小结