用python做個街拍美圖手冊

今天分享一篇在家就能養眼的技能,用python爬取街拍美女高清大圖,然後批量插入word中,製作街拍美圖手冊,閒的時候就能拿出來養養眼。

本文涉及知識主要包括Ajax動態加載網頁爬取、requests保存網頁圖片以及word批量插入圖片

第一步:分析圖片數據接口

打開今日頭條主頁,搜索街拍,會出現好多街拍圖片

用python做個街拍美圖手冊


一直往下拉,圖片會一直加載,但是網頁url未變化,這時我們要打開流量分析工具。以火狐瀏覽器為例,依次右鍵-查看元素-網絡,然後點擊左上角清除按鈕

用python做個街拍美圖手冊


下拉網頁:

用python做個街拍美圖手冊


出現一大堆加載數據,這時我們打開第一個的json文件的響應窗口:

用python做個街拍美圖手冊


發現這返回的就是街拍圖片信息,每次返回20條,再看看它的請求參數:

用python做個街拍美圖手冊


經過試驗發現,timestamp和_signature是變化參數,但是可以捨棄,最後以offset的變化來改變換頁(0代表第1頁,20代表第2頁,依次類推...)

第二步:python下載圖片

準備下載20頁的數據


1.首先構造url

<code>

for

i

in

range(

20

):     url =

'https

:          

'offset

={

0

}&format=json&keyword=%E8%A1%

97

%E6%

8

B%

8

D&autoload=

true

&count=

20

&en_'\          

'qc

=

1

&cur_tab=

1

&from=search_tab&pd=synthesis'.format(i*

20

)/<code>


2.模擬請求數據,並將返回數據轉換成json格式

<code>

response

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

Imgs

= json.loads(response.text)[

'data'

]/<code>

一定要帶上登錄後的cookie數據,否則無法返回圖片信息


3.從返回數據中取出標題和圖片url

<code>

for

i

in

Imgs:    

if

'title'

in

list

(

i.keys(

)):         title

= i[

'title'

]         Imgurl = i[

'other_image_url'

]/<code>


4.requests下載圖片,並以標題命名

<code>imgeresp =requests.

get

(Imgurl)with

open

(

'img\{0}.jpg'

.format(title),

'wb'

)

as

f:     f.write(imgeresp.content)/<code>

5.圖片效果展示

用python做個街拍美圖手冊

用python做個街拍美圖手冊


看看就很養眼,想要高清大圖的請私聊我

第三步:word批量插入圖片

安裝docx和PIL模塊,直接pip安裝即可

1.導入相關模塊

<code>

import

osfrom PIL importImagefrom docx importDocumentfrom docx.shared

import

Inches/<code>

2.遍歷該文件夾下所有圖片名

<code>file = 

'圖片路徑'

myDocument =Document()

for

root, dirs, filesin

os

.walk(file):    

for

f

in

files:​         ImgFile =

os

.

path

.join(root, f)/<code>

3.獲取每張圖片像素大小

<code>

img

=Image.open(ImgFile)

pixel

= list(img.size)/<code>

主要是因為街拍圖片像素差別較大,想按原像素大小導入word中,img.size為元組類型數據,這裡用list將其轉化為列表

4.將圖片按原像素添加至word中

<code>

myDocument

.add_picture

(ImgFile, width=Inches(pixel[

0

]/

72

), height=Inches(pixel[

1

]/

72

))/<code>


5.最終效果

用python做個街拍美圖手冊


本文代碼已上傳至【python的爬蟲與數據分析之路】,請在後臺回覆街拍獲取。



分享到:


相關文章: