zoukankan      html  css  js  c++  java
  • 基于正则表达式用requests下载网页中的图片

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

    实现步骤:

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

    2、编写正则匹配图片url

    3、保存图片到本地

    图文步骤:

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

    定位图片

    2、写出正则

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

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

    1 import requests
    2 import re
    3 
    4 url='https://mrpig.tuchong.com/14390318/'
    5 response = requests.get(url)
    6 url_lst = re.findall(r"//.+.jpg",response.text)
    7 print url_lst

    输出

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

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

    完整代码:

     1 import requests
     2 import re
     3 
     4 url='https://mrpig.tuchong.com/14390318/'
     5 response = requests.get(url)
     6 url_lst = re.findall(r"//.+.jpg",response.text)[2:]
     7 i=0
     8 for url in url_lst:
     9     with open(str(i)+".jpg","wb") as fd:
    10         #在url前面加上http
    11         response=requests.get("http:"+url)
    12         fd.write(response.content)
    13         print '图片',i,"保存成功
    "
    14         i+=1
  • 相关阅读:
    1. Two Sum
    100. Same Tree
    101. Symmetric Tree
    103. Binary Tree Zigzag Level Order Traversal
    102. Binary Tree Level Order Traversal
    STL的一些技巧函数使用
    104. Maximum Depth of Binary Tree
    apache开源项目--solr
    apache开源项目--HBase
    apache开源项目--ZooKeeper
  • 原文地址:https://www.cnblogs.com/wildbloom/p/6688473.html
Copyright © 2011-2022 走看看