python画美图_用python做个街拍美图手册

今天分享一篇在家就能养眼的技能,用python爬取街拍美女高清大图,然后批量插入word中,制作街拍美图手册,闲的时候就能拿出来养养眼。本文涉及知识主要包括Ajax动态加载网页爬取、requests保存网页图片以及word批量插入图片第一步:分析图片数据接口打开今日头条主页,搜索街拍,会出现好多街拍图片

一直往下拉,图片会一直加载,但是网页url未变化,这时我们要打开流量分析工具。以火狐浏览器为例,依次右键-查看元素-网络,然后点击左上角清除按钮

下拉网页:

出现一大堆加载数据,这时我们打开第一个的json文件的响应窗口:

发现这返回的就是街拍图片信息,每次返回20条,再看看它的请求参数:

经过试验发现,timestamp和_signature是变化参数,但是可以舍弃,最后以offset的变化来改变换页(0代表第1页,20代表第2页,依次类推...)第二步:python下载图片准备下载20页的数据

1.首先构造url

for i in range(20):

url = 'https://www.toutiao.com/api/search/content/?aid=24&app_name=web_search&'\

'offset={0}&format=json&keyword=%E8%A1%97%E6%8B%8D&autoload=true&count=20&en_'\

'qc=1&cur_tab=1&from=search_tab&pd=synthesis'.format(i*20)

2.模拟请求数据,并将返回数据转换成json格式

response =requests.get(url, headers=header, cookies=cookie)

Imgs = json.loads(response.text)['data']

一定要带上登录后的cookie数据,否则无法返回图片信息

3.从返回数据中取出标题和图片url

for i in Imgs:

if 'title' in list(i.keys()):

title = i['title']

Imgurl = i['other_image_url']

4.requests下载图片,并以标题命名

imgeresp =requests.get(Imgurl)

with open('img\{0}.jpg'.format(title),'wb') as f:

f.write(imgeresp.content)

5.图片效果展示

看看就很养眼,想要高清大图的请私聊我

第三步:word批量插入图片安装docx和PIL模块,直接pip安装即可

1.导入相关模块

importos

from PIL import Image

from docx import Document

from docx.shared import Inches

2.遍历该文件夹下所有图片名

file ='图片路径'

myDocument =Document()

forroot,dirs,filesinos.walk(file):

for f in files:

ImgFile = os.path.join(root,f)

3.获取每张图片像素大小

img =Image.open(ImgFile)

pixel =list(img.size)

主要是因为街拍图片像素差别较大,想按原像素大小导入word中,img.size为元组类型数据,这里用list将其转化为列表

4.将图片按原像素添加至word中

myDocument.add_picture(ImgFile,width=Inches(pixel[0]/72),height=Inches(pixel[1]/72))

5.最终效果

来自: python的爬虫与数据分析之路

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值