python原始套接字socket下载http网页文件到txt

liftword2周前 (04-28)技术文章14

python原始套接字socket下载http网页文件到txt

import socket


def download_webpage(url, output_file):
    try:
        # 解析 URL
        if url.startswith("http://"):
            url = url[7:]
        host = url.split("/")[0]
        path = "/" + "/".join(url.split("/")[1:])

        # 创建 socket 对象
        client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

        # 获取主机的 IP 地址
        ip = socket.gethostbyname(host)

        # 连接到服务器
        client_socket.connect((ip, 80))

        # 构建 HTTP 请求
        request = f"GET {path} HTTP/1.1\r\nHost: {host}\r\nConnection: close\r\n\r\n"
        client_socket.sendall(request.encode())

        # 接收响应
        response = b""
        while True:
            data = client_socket.recv(4096)
            if not data:
                break
            response += data

        # 关闭 socket
        client_socket.close()

        # 分离 HTTP 头部和内容
        header, content = response.split(b"\r\n\r\n", 1)

        # 保存内容到文件
        with open(output_file, "wb") as file:
            file.write(content)

        print(f"网页内容已成功保存到 {output_file}")
    except Exception as e:
        print(f"发生错误: {e}")


if __name__ == "__main__":
    url = "http://www.5a8.com"  # 替换为你要下载的网页 URL
    output_file = "www5a8com.txt"
    download_webpage(url, output_file)

运行结果

D:\code\python\get>python getsocket.py
网页内容已成功保存到 www5a8com.txt

相关文章

十几行Python代码轻松实现txt转xls,方便快捷

前天看到有人说目前自己有很多txt 文件,领导要转成xls文件,问用python怎么实现。其实完成这个需求方法有很多,因为具体的txt格式不清楚,当然如果是有明确分隔符的会更好处理些,可以直接把txt...

告别依赖混乱!Python项目一键生成requirements.txt!

“为什么我的代码在本地运行正常,别人却装不上依赖?” 这是无数Python新手遭遇的噩梦。本文将揭秘一个让项目依赖管理效率提升10倍的神器——pipreqs,手把手教你打造专业级开发环境!一、依赖管理...

写脚本不一定要学Python,C#何尝不能写脚本?txt都能跑!

用过C#的都知道C#是一种强大的编程语言,基本什么都能做。而他的优雅性,让我学了C#之后就不再愿意转投其它语言了。C#只是输在没有生态!对此,前python同事跟我争论不休,说C#没法写脚本,再简单也...

半自动化爬虫:在百度贴吧上保存网页,通过python爬取相关信息

1、需求背景:在百度贴吧上选取一页帖子,点击右键查看源代码,将源代码保存为txt文件,通过python实现从该页面中抓取帖子的标题,作者,时间等信息,将结果保存为excel表格2、关键技术实现:pyt...

Python画圣诞树,这波操作让我女友非常开心

文章目录1.方块圣诞树2.线条圣诞树3.豪华圣诞树这篇文章主要介绍了使用Python画了一棵圣诞树的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友...

如何用python的requests来下载网页内容保存到txt

如何用python的requests来下载网页内容保存到txtimport requests # 定义目标网页和保存路径 url = "http://www.5a8.com" fil...