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)
------------恢复内容结束------------
浙公网安备 33010602011771号