1. 程式人生 > >爬蟲1 socket方式下載一張圖片

爬蟲1 socket方式下載一張圖片

import socket
import re

client = socket.socket()
# 圖片url
img_url = 'https://img03.sogoucdn.com/app/a/100520093/10e8b9550acde0b8-459f14f6a089053d-e879bbcb128a7b240716f9531571fc2c.jpg'
# 構造報文
data = 'GET /app/a/100520093/10e8b9550acde0b8-459f14f6a089053d-e879bbcb128a7b240716f9531571fc2c.jpg HTTP/1.1\r\nHost: img03.sogoucdn.com\r\n\r\n
' # 連線服務端 client.connect(('img03.sogoucdn.com',80)) # 傳送請求 client.send(data.encode()) # 接收響應 # 接收第一次資料 first_data = client.recv(1024) # 獲取響應資料的長度 # print(first_data) length = int(re.findall(b'Content-Length: (.*?)\r\n',first_data)[0]) # print(length) # 獲取圖片資料 img_data = b'' # 獲取第一次資料的圖片資訊 img_data += re.findall(b'
\r\n\r\n(.*?)',first_data,re.S)[0] # print(img_data) while True: data = client.recv(1024) if data: img_data += data if(len(img_data) >= length): break # else: # break # print('哈哈',len(img_data),length) print(img_data) with open('myimg1.jpg','wb') as f: f.write(img_data)