python下载图小萌图集的图片

------------恢复内容开始------------

今天一个朋友问 如何批量把一个网站的图片下载下来。网上现成的工具很多,但是不能满足我们的需求,我们想根据自己的需要下载图片。于是就有了这篇文章。

并且发了我一个地址,https://www.tuxiaomeng.com图小萌图集,查了一下信息图小萌是一个免费看美女图集图片网站,但是由于图片过多有时候想保存到本地慢慢欣赏,一张张右键保存就有点麻烦而且速度太慢怎么样能快速保存呢?今天就用python来尝试一下,就拿他做测试吧,我们使用的是requests。

一、requests是什么?

requests是python的一个网络库,可以通过get post等常见的方式去请求。

二、使用步骤

1.分析

在一张图片上点右键查看图片地址:/美女写真/109292.jpg 不是绝对路径,我们获取到相对路径在拼接上图小萌的地址https://www.tuxiaomeng.com就得到一个完整的图片地址了。然后使用python的requests库去下载下来,还有就是要一页一页的获取每个帖子的图片。

2.requests使用

代码如下(示例):

import requests
#如果不适用cookie可注释此行
from requests.cookies import RequestsCookieJar

requests.request("GET", url, headers=headers, data=payload)

GET是使用get方法请求,header是头信息 格式如下

headers = {
    'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Mobile Safari/537.36',
    'Referer': 'https://www.tuxiaomeng.com',
    'Accept-Language': 'zh-cn'

}

data是提交的数据,一把用于POST提交,get可留空

具体实现如下

def tuxiaomeng():
    page=0
    while 1:
        page=page+1
        url = "https://www.tuxiaomeng.com/mtzq/jp/page/"+page
        print(url)
        payload = {}
        files = {}
        headers = {
            'User-Agent': 'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Mobile Safari/537.36',
            'Referer': 'https://www.tuxiaomeng.com',
            'Accept-Language': 'zh-cn'

        }
        inum = 0
        # 获取页面源码
        r = requests.request("GET", url, headers=headers, data=payload)
        #正则匹配页面中的图片
        match = re.findall(r'<h2><a(.*?)</a></h2>', r.text)
        for m in match:
            m=m[m.find("href=\"")+6:]
            m=m[:m.find("\"")]
            m="https://www.tuxiaomeng.com/"+m
            r = requests.get(m,headers=headers)
            # wb 以二进制打开文件并写入,文件名不存在会创建
            with open('./image/1.png', 'wb') as f:
                f.write(r.content)  # 写入二进制内容
            print("   ---"+m+"--")
        time.sleep(1)

 

------------恢复内容结束------------

posted on 2022-06-23 14:49  贾维斯2号  阅读(23)  评论(0)    收藏  举报

导航