功能:
利用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.1\r\n"
request_headers = "Host: image.baidu.com\r\n"
request_headers += "User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36\r\n\r\n"
# 模拟请求头
request = request_line + request_headers
# 将模拟请求发送给baidu
tcp_socket.send(request.encode())
# 接收baidu的响应
data = tcp_socket.recv(10240)
# 切片取出baidu响应的内容,如果不切片内容中将包含响应报文
data = data.decode()[data.decode().find("\r\n\r\n")+4:]
# 打开文件
new = open("newfile.html","w")
# 将切片后的字符串写入
new.write(data)
# 关闭文件
new.close()
if __name__ == "__main__":
main()