手机网站需要域名吗少儿编程加盟官网

当前位置: 首页 > news >正文

手机网站需要域名吗,少儿编程加盟官网,冒用公司名做网站,wordpress 新网页打开上节内容回顾#xff1a;【爬虫基础】第一部分 网络通讯 P1/3-CSDN博客 【爬虫基础】第一部分 网络通讯-Socket套接字 P2/3-CSDN博客 相关文档#xff0c;希望互相学习#xff0c;共同进步 风123456789#xff5e;-CSDN博客 前言 1.知识点碎片化#xff1a;每个网站实现…上节内容回顾【爬虫基础】第一部分 网络通讯 P1/3-CSDN博客 【爬虫基础】第一部分 网络通讯-Socket套接字 P2/3-CSDN博客 相关文档希望互相学习共同进步 风123456789-CSDN博客 前言  1.知识点碎片化每个网站实现的技术相似但是有区别要求我们根据不同的网站使用不同的应对手段。主要是常用的一些网站爬取技术。 2.学习难度入门比web简单但后期难度要比web难在于爬虫工程师与网站开发及运维人员的对抗。比如你写了爬虫但是被网站运维人员发现后添加反爬那么就要解决反爬。即平台更新换代爬虫策略需要实时更新。 3.学习特点以摸个网站爬虫为讲解对象即一个技术点的案例。 4.后续发展要求掌握的东西多工作中根据工作需要涉及到更多没有接触的知识。 5.法律层面爬虫相关工作属于灰色地带目前国内现行法律对于爬虫相关评判还没有明确制度。 6.建议好记性不如烂笔头建议多找网站进行爬取联系同时做好笔记。 5 UDP 通信  知识点     1.udp网络程序-发送数据     2.udp网络程序-发、接收数据     3.udp网络程序-绑定端口发送消息 5.1 udp网络程序-发送数据 创建一个基于udp的网络程序流程很简单具体步骤如下 1.创建客户端套接字 2.发送/接收数据 3.关闭套接字 客户端发送数据到服务器 from socket  import  *  #不需要安装是python解释器自带 udp_socket socket(AF_INET , SOCK_DGRAM)  #ipv4  udp通信协议 send_data i love you    #需要传输的数据 udp_addr (192.168.1.119,8988)    #数据发送的地址将数据发送给谁 udp_socket.sendto(send_data.encode(utf-8),udp_addr) # 转为字节流 udp_socket.close()  # 关闭套接字 说明  from socket import *不需要额外安装是python解释器自带的模块# 创建udp通信的socket套接字对象 udp_socket socket(AF_INET, SOCK_DGRAM)

AF_INET: ipv4地址类型

SOCK_DGRAM: UDP的通信协议# 需要传输的数据

send_data 我爱你# 数据发送的地址(将数据发送给谁) udp_addr (192.168.110.76, 8080)# 执行发送

gbk: windows的一般使用的解码格式

udp_socket.sendto(send_data.encode(gbk), udp_addr)# 关闭套接字 udp_socket.close() 运用网络调试工具NetAssist.exe    它是一款专为快速定位网络故障而设计的实用工具。该工具的核心组件是netAssist.exe它能够帮助用户诊断和解决网络连接和通信过程中遇到的各种问题和异常。无论是连接错误、通信中断、包丢失还是延迟问题netAssist都能提供详细的诊断信息帮助用户快速确定故障原因并找到解决方案。 NetAssist.exe 启动起来然后运行代码即可发送数据成功。可能中文会乱码换为gbk可以了windows一般使用解码格式linux 一般utf-8。   5.2 udp网络程序-接收数据 udp接收数据 from socket import *# 创建udp套接字对象 udp_socket socket(AF_INET, SOCK_DGRAM)# 定义接收方(接收数据)的地址 udp_addr (192.168.110.76, 8080)# 定义发送的消息 data 你那边今天天气怎么样.encode(gbk)# 执行发送 udp_socket.sendto(data, udp_addr)# 接收对方发送的消息(接收服务器的消息) recv_data udp_socket.recvfrom(1024)# 1024: 本次接收的最大字节数 print(recv_data) print(recv_data[0].decode(gbk)) print(recv_data[1])# 关闭套接字 udp_socket.close() 5.3  udp网络程序-绑定端口发送消息 udp网络程序-绑定端口发送消息from socket import *while True:# 创建套接字对象udp_docket socket(AF_INET, SOCK_DGRAM)# 绑定套接字本地端口udp_docket.bind((, 9999))# ip地址一般不用写表示本机的任何一个IPdata 么么哒udp_addr (192.168.110.76, 8080)udp_docket.sendto(data.encode(gbk), udp_addr)recv_data udp_docket.recvfrom(1024)print(recv_data[0].decode(gbk))from requests_html import HTMLSessionsession HTMLSession()url https://gateway.36kr.com/api/mis/nav/newsflash/list data {partner_id:web,timestamp:1682686589490,param:{pageSize:80,pageEvent:1,pageCallback:eyJmaXJzdElkIjoyMjM1MDE1NzgwNTExMzY4LCJsYXN0SWQiOjIyMzQ5Mzg1ODU5MDI5ODEsImZpcnN0Q3JlYXRlVGltZSI6MTY4MjY4NjUzNzM4NCwibGFzdENyZWF0ZVRpbWUiOjE2ODI2ODE4MjU3OTksImxhc3RQYXJhbSI6IjEifQ,siteId:1,type:0,platformId:2}} headers {Cookie: sajssdk_2015_cross_new_user1; sensorsdata2015jssdkcross%7B%22distinct_id%22%3A%22187c7ef656dfe6-0fcbd5dedc9fba-7e57547c-2073600-187c7ef656ebbb%22%2C%22%24device_id%22%3A%22187c7ef656dfe6-0fcbd5dedc9fba-7e57547c-2073600-187c7ef656ebbb%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E8%87%AA%E7%84%B6%E6%90%9C%E7%B4%A2%E6%B5%81%E9%87%8F%22%2C%22%24latest_referrer%22%3A%22https%3A%2F%2Fcn.bing.com%2F%22%2C%22%24latest_referrer_host%22%3A%22cn.bing.com%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC%22%7D%7D; Hm_lvt_1684191ccae0314c6254306a8333d0901682686568; Hm_lvt_713123c60a0e86982326bae1a51083e11682686568; Hm_lpvt_1684191ccae0314c6254306a8333d0901682686579; Hm_lpvt_713123c60a0e86982326bae1a51083e11682686579,Host: gateway.36kr.com,Origin: https://www.36kr.com,Referer: https://www.36kr.com/,User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 Edg/112.0.1722.58 } response session.post(url, jsondata, headersheaders).json() print(response) 6.TCP 通信  课题TCP通讯 知识点     1.python编码的转换     2.TCP客户端开发流程     3.TCP服务端开发流程     4.多任务版TCP服务端程序开发 6.1  python编码的转换

str1 今天天气很好

print(str1.encode(utf-8), type(str1.encode(utf-8)))

网络中数据的传输都是以二进制的形式传输的

bytes类型就是我们口中的二进制数据类型

编码encode()

解码decode()

编解码的格式utf-8 gbk, gb2312

万国码# result str1.encode(utf-8)

print(result.decode(utf-8))# 客户端面向的用户群体是客户

服务端(服务器)面向的是开发者tcp客户端和服务端开发 # 注意主动发起建立连接请求的是客户端 # 等待接收请求的是服务端程序 # 面试要点 # tcp三次握手和四次挥手 6.2 TCP 客户端开发

tcp客户端程序开发 from socket import *# 创建tcp_socket对象 tcp_socket socket(AF_INET, SOCK_STREAM)

建立和服务器的连接

需求IP地址端口号

ip_port (192.168.110.76, 8080)

(代码上的区别)与udp客户端程序的区别在与建立连接

tcp_client_socket tcp_socket.connect(ip_port) 将数据从客户端发送给服务器 for i in range(4):data 我喜欢你# 将需要传输的数据转换成二进制类型data_bytes data.encode(gbk)# 将数据发送给服务器tcp_socket.send(data_bytes) 接收服务器传递过来的数据 recv_data tcp_socket.recv(1024)

接收服务器发送过来的数据最大接收1024个字节

print(f接收到服务器发送过来的数据{recv_data.decode(gbk)})

关闭套接字

tcp_socket.close() 6.3 TCP服务端开发流程 TCP服务端开发流程from socket import *# 创建tcp的socket对象tcp_socket socket(AF_INET, SOCK_STREAM)# 设置端口号复用程序退出端口号立即释放tcp_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, True)# 绑定IP地址和端口ip_port (, 9090)tcp_socket.bind(ip_port)# 设置监听128最大等待连接数tcp_socket.listen(128)# 若有新的客户端来链接这个服务端那么就产生一个新的套接字专门为这个客户端服务client_socket, client_addr tcp_socket.accept()# 获取客户端传递过来的消息此处接收的是服务器分配的服务的socket消息recv_data client_socket.recv(1024)print(f客户端发来{recv_data.decode(gbk)})# 关闭与这个客户端的套接字client_socket.close()tcp_socket.close() 6.4 多任务版TCP服务端程序开发  TCP服务端开发流程

处理多个客户端发送过来的连接请求与接收消息

from socket import * from threading import Threaddef handle_client_request(client_socket, client_addr):print(f接受到{client_addr},发送来{client_socket.recv(1024).decode(gbk)})if name main:# 创建tcp_socket对象tcp_socket socket(AF_INET, SOCK_STREAM)# 设置端口复用程序退出端口号立即释放tcp_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, True)# 绑定端口# 客户端可以通过这个端口号来找到我们这个服务器的tcp_socket服务ip_port (, 8080)tcp_socket.bind(ip_port)# 设置监听:tcp_socket.listen(128)while True:# 分配对客户端的服务client_socket, client_addr tcp_socket.accept()t1 Thread(targethandle_client_request, args(client_socket, client_addr))# t1.setDaemon(True) # 设置守护线程# 启动线程t1.start() 附录 Python 相关 不同工具的优缺点和使用场景 ‌PyCharm‌功能全面适合大型项目开发但相对笨重占用内存较多。‌‌VS Code‌轻量级启动快支持多种编程语言适合多语言开发和需要快速上手的项目。‌Jupyter Notebook‌交互性强适合数据科学和机器学习项目易于共享结果。‌Spyder‌界面友好适合数据科学和科研但功能不如PyCharm强大。‌Sublime Text‌速度快高度可定制性适合各种编程需求但需要自行安装插件。 安装和使用建议 ‌PyCharm‌下载安装包后直接使用社区版免费。‌VS Code‌通过官网下载安装包后安装Python插件即可使用。‌‌Jupyter Notebook‌可以通过Anaconda安装或者从官网下载后配置Python环境。‌Spyder‌通过Anaconda集成环境安装适合数据科学和科研。‌Sublime Text‌下载安装包后通过Package Control安装所需插件。 最近文章阅读排行榜 【Linux专栏】find命令同步 实验-CSDN博客 【爬虫基础】第一部分 网络通讯 P1/3-CSDN博客 【Oracle专栏】客户端expdp 实验验证-CSDN博客 【Oracle专栏】Package 被误替换恢复找回-CSDN博客 【Linux Oracle】杂货铺 日常实用2024-CSDN博客 【Linux运维】非root用户的单向免密登录_linux 单向免密-CSDN博客 【Oracle专栏】DBMS_CRYPTO 加密包、AES加解密_oracle aes解密-CSDN博客 【Oracle专栏】ORA-06502hex到raw的转换错误-CSDN博客 【Oracle专栏】group by 和distinct 效率_group和distinct效率oracle-CSDN博客