利用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()