python socket的應用

python通過socket獲取百度網頁內容

# -*- coding:utf-8 -*-
import socket
def socket_client():
    #創建socket對象
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    #獲取主機名
    host = 'www.baidu.com'
    #設置端口號
    port = 80
    #連接服務器,指定主機和端口
    s.connect((host,port))
    #發送數據
    s.send(b'GET / HTTP/1.1\r\n User-Agent:Mozilla/5.0\r\n Host:www.baidu.com\r\n Connection:close\r\n\r\n')
    #接收數據
    buffer = []
    while True:
        d = s.recv(1024)
        if d:
            buffer.append(d)
        else:
            break
    data = b''.join(buffer)
    header,html = data.split(b'\r\n\r\n',1)
    print(header.decode('utf-8'))
    #把接收的數據寫入文件
    with open("baidu.html",'wb') as f:
        f.write(html)
    s.close()

def main():
    socket_client()

if __name__ == '__main__':
    main()

 

發佈了69 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章