在慕课网看了正则表达式和requests的课程后,为了加深学习记忆,决定简单记录。

实现步骤:

1、先打开你要下载的网页,查看源码找出图片位置

2、编写正则匹配图片url

3、保存图片到本地

图文步骤:

1、以图虫网为例(https://tuchong.com/),随便点进去个主题(https://mrpig.tuchong.com/14390318/)

定位图片

2、写出正则

通过观察可以发现图片url是以 // 开头以 .jpg结尾的

则正则表达式为 “//.+\.jpg”

 import requests
import re url='https://mrpig.tuchong.com/14390318/'
response = requests.get(url)
url_lst = re.findall(r"//.+\.jpg",response.text)
print url_lst

输出

通过拷贝到浏览器,发现前面两个图片不是我们感兴趣的,则把他们切掉 [2:]

3、最后使用一个遍历,将图片保存到本地。

完整代码:

 import requests
import re url='https://mrpig.tuchong.com/14390318/'
response = requests.get(url)
url_lst = re.findall(r"//.+\.jpg",response.text)[2:]
i=0
for url in url_lst:
with open(str(i)+".jpg","wb") as fd:
#在url前面加上http
response=requests.get("http:"+url)
fd.write(response.content)
print '图片',i,"保存成功\n"
i+=1

基于正则表达式用requests下载网页中的图片的更多相关文章

  1. C#正则表达式通过HTML提取网页中的图片src

    目前在做HoverTreeCMS项目中有处理图片的部分,参考了一下网上案例,自己写了一个获取内容中的图片地址的方法. 可以先看看效果:http://tool.hovertree.com/a/zz/im ...

  2. C# 网络编程之webBrowser获取网页url和下载网页中图片

    该文章主要是通过C#网络编程的webBrowser获取网页中的url并简单的尝试瞎子啊网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识.正则表达式实现浏览.获取url. ...

  3. Python 网络爬虫 009 (编程) 通过正则表达式来获取一个网页中的所有的URL链接,并下载这些URL链接的源代码

    通过 正则表达式 来获取一个网页中的所有的 URL链接,并下载这些 URL链接 的源代码 使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 ...

  4. 用firefox的插件下载网页中的视频

    对于网页中的一些视频,直接下载不了,可以用专用下载软件下载,也可以用firefox的NetVideohunter Video Downloader插件下载网页中的视频,方便快捷. 工具/原料   fi ...

  5. imagesLoaded – 检测网页中的图片是否加载

    imagesLoaded 是一个用于来检测网页中的图片是否载入完成的 JavaScript 工具库.支持回调的获取图片加载的进度,还可以绑定自定义事件.可以结合 jQuery.RequireJS 使用 ...

  6. asp自动解析网页中的图片地址,并将其保存到本地服务器

    程序实现功能:自动将远程页面的文件中的图片下载到本地. 程序代码 <% '将本文保存为 save2local.asp '测试:save2local.asp?url=http://ent.sina ...

  7. Python抓取网页中的图片到本地

    今天在网上找了个从网页中通过图片URL,抓取图片并保存到本地的例子: #!/usr/bin/env python # -*- coding:utf- -*- # Author: xixihuang # ...

  8. 网页中的图片查看器viewjs使用

    需求分析: 对于网页中的图片进行连续放大(便于用户清晰查看内容).缩小,旋转等操作,可以使用viewjs图片查看器插件实现. viewjs官方网址:https://github.com/fengyua ...

  9. 小白学Python(7)——利用Requests下载网页图片、视频

    安装 Requests 如果安装了Requests就已经可用了,否则要安装 Requests,只要在你的CMD中运行这个简单命令即可: pip install requests requests使用 ...

随机推荐

  1. java 创建简单工厂模式

    1.抽象类 package com.zpark.service; /** * 定义一个环境接口,所有省治理环境的方式都实现这个接口,并重写治理环境的方法 * @author tong * */ pub ...

  2. hping安装过程

    转载: http://www.safecdn.cn/website-announcement/2018/12/hping-install/97.html ‎ Hping的主要功能有: 测试防火墙实用的 ...

  3. Maven私服安装

    下载安装包:nexus(https://www.sonatype.com/download-oss-sonatype) 默认用户密码字符串: adminAdministratorUseractive& ...

  4. winform/timer控件/权限设置/三级联动

    一.timer控件 组件--timer timer是一个线程,默认可以跨线程访问对象 属性:Enabled--可用性 Interval--间隔时间 Tick:间隔时间发生事件 二.三级联动 例: pu ...

  5. Spring注解之 Transactional

    @Transcational 用于事务回滚 @Transcational属性如下: 属性 类型 描述 value String 可选的限定描述符,制定使用的事务管理器 propogation enum ...

  6. 电脑IP设置

    方法一: echo offecho 修改[本地连接]IP......netsh interface IP set address "本地连接" static 138.8.8.111 ...

  7. leetcode1024

    class Solution(object): def videoStitching(self, clips: 'List[List[int]]', T: int) -> int: li = s ...

  8. NativeClient开发指南

    https://blog.csdn.net/column/details/24458.html

  9. C++11之for循环的新用法《转》

    相关资料:https://legacy.gitbook.com/book/changkun/cpp1x-tutorial/details C++11之for循环的新用法 C++使用如下方法遍历一个容器 ...

  10. Array.Resize(ref arry, size);

    数组原来的内容不变,后面添加新的空间. 内部操作应该是:重新分配了一块空间,然后将旧的内容拷过去