利用python3模擬訪問網站
- 2020 年 1 月 13 日
- 筆記
功能: 利用python程式碼來獲取我們訪問網頁後網頁返回給我們的資訊,將返回的內容寫入到文件中.我們這裡就拿百度圖庫來做個例子 需求: 使用socket模組
程式碼如下:
import socket def main(): # 創建套接字 tcp_socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 連接baidu tcp_socket.connect(("image.baidu.com",80)) # 模擬請求行 request_line ="GET / HTTP/1.1rn" request_headers = "Host: image.baidu.comrn" request_headers += "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36rnrn" # 模擬請求頭 request = request_line + request_headers # 將模擬請求發送給baidu tcp_socket.send(request.encode()) # 接收baidu的響應 data = tcp_socket.recv(10240) # 切片取出baidu響應的內容,如果不切片內容中將包含響應報文 data = data.decode()[data.decode().find("rnrn")+4:] # 打開文件 new = open("newfile.html","w") # 將切片後的字元串寫入 new.write(data) # 關閉文件 new.close() if __name__ == "__main__": main()