zoukankan      html  css  js  c++  java
  • 爬虫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
    Host: img03.sogoucdn.com
    
    '
    # 连接服务端
    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: (.*?)
    ',first_data)[0])
    # print(length)
    # 获取图片数据
    img_data = b''
    # 获取第一次数据的图片信息
    img_data += re.findall(b'
    
    (.*?)',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)
  • 相关阅读:
    Windows32位与64位操作系统的区别【转】
    【C#多线程详解】
    auto_ptr
    #if 1......
    vector 向量容器
    删除可视图中的类不能彻底避免它重新被编译
    _tWinMain 与wWinMain 区别
    explicit 用法
    转:atoi函数的实现
    string类的实现
  • 原文地址:https://www.cnblogs.com/cxhzy/p/10240903.html
Copyright © 2011-2022 走看看