python

requests的简单运用

使用pycharm获取requests包

ctrl+alt+s Project:pythonProject pythoninterpreter 点+号搜索

使用requests里的socket达成局域网内通讯,UDP

import time   #server
import socket
try:
s = socket.socket(type=socket.SOCK_DGRAM) # 创建类
hostname = socket.gethostname() # 获取自己的主机名
s.bind((hostname, 8888)) # 绑定主机号与端口号
msg,address=s.recvfrom(1024)
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(time.time())),
"服务端收到客户端:%s的消息:%s"%(address,msg.decode('utf-8')))
data='可以正常通讯'.encode('utf-8')
s.sendto(data,address)
while True:
a = input("发送消息(q = quit)")
if a != "q":
s.sendto(a.encode('utf-8'), address)
else:
break
msg,address=s.recvfrom(1024)
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())),
"服务端收到客户端:%s的消息:%s" % (address, msg.decode('utf-8')))
s.close()
except Exception as e:
print("出错了", e) import socket #client
import time
try:
s=socket.socket(type=socket.SOCK_DGRAM)
hostname=socket.gethostname()
data='连接成功'.encode('utf-8')
s.sendto(data,(hostname,8888))
responese,address=s.recvfrom(1024)
print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())),
'收到服务端%s的消息:%s'%(address,responese.decode('utf-8')))
n=0
while n<1000:
response,address = s.recvfrom(1024)
print(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(time.time())),
"收到服务端%s的消息:%s" % (address, response.decode('utf-8')))
a = input('发送信息')
s.sendto(a.encode('utf-8'),address)
s.close()
except Exception as e:
print('出错了',e)

使用requests里的socket达成局域网内通讯,TCP

import socket   #server
import time
try:
s = socket.socket()
hostname = socket.gethostname()
# 绑定套接字地址
s.bind((hostname, 8888))
s.listen(5)
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), '服务端准备完毕,等待客户端连接')
con, address = s.accept()
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),'客户端已连接上服务端,连接地址:', address)
message = '你好,我是服务端'
# 发送消息,必须对发送的内容进行编码
con.send(message.encode('utf-8'))
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), '服务端发送:', message)
# 关闭套接字
con.close()
except Exception as e:
print('建立TCP服务端失败', e) import socket
import time
try:
s = socket.socket()
hostname = socket.gethostname()
s.connect((hostname, 8888))
response = s.recv(1024).decode('utf-8') # 接收服务端消息并解码
print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())), '收到服务端消息:', response)
s.close() # 关闭套接字
except Exception as e:
print('建立TCP客户端失败', e)

requests模块里的get应用

import requests
word = input('请输入搜索内容')
pn = input('请输入页码')
p={'kw':word,"pn":pn}
url='https://tieba.baidu.com/f'
headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0'}
re=requests.get(url,headers=headers,params=p)
print(re.content.decode('utf-8'))

输入图片地址将结尾改成.jpg可以爬图片

request模块里的post应用

这里使用post去给百度翻译传参数

import requests
import json
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0"}
url='https://fanyi.baidu.com/sug'
while True:
word = input('百度翻译:')
if word.lower() == 'quit':
break
data={"kw":word}
re=requests.post(url,headers=headers,data=data) #地址,伪装的浏览器以及数据
re_obj=re.json() #把json格式写进re_obj
print(word+":"+re_obj['data'][0]['v']) #指定re_obj里的特定值
filename=word+'.json' #设置文件名
fp=open(filename,"w",encoding='utf-8') #以utf-8写入文件
json.dump(re_obj,fp=fp,ensure_ascii=False) #不允许json以ascii码的形式写入文件

get是在url地址上加参数,post是在页面里面的文本栏加参数

python requests库的简单运用的更多相关文章

  1. python requests库的简单使用

    requests是python的一个HTTP客户端库,跟urllib,urllib2类似,但比urllib,urllib2更加使用简单. 1. requests库的安装在你的终端中运行pip安装命令即 ...

  2. Python:requests库、BeautifulSoup4库的基本使用(实现简单的网络爬虫)

    Python:requests库.BeautifulSoup4库的基本使用(实现简单的网络爬虫) 一.requests库的基本使用 requests是python语言编写的简单易用的HTTP库,使用起 ...

  3. 使用python requests库写接口自动化测试--记录学习过程中遇到的坑(1)

    一直听说python requests库对于接口自动化测试特别合适,但由于自身代码基础薄弱,一直没有实践: 这次赶上公司项目需要,同事小伙伴们一起学习写接口自动化脚本,听起来特别给力,赶紧实践一把: ...

  4. 大概看了一天python request源码。写下python requests库发送 get,post请求大概过程。

    python requests库发送请求时,比如get请求,大概过程. 一.发起get请求过程:调用requests.get(url,**kwargs)-->request('get', url ...

  5. python requests库学习笔记(上)

    尊重博客园原创精神,请勿转载! requests库官方使用手册地址:http://www.python-requests.org/en/master/:中文使用手册地址:http://cn.pytho ...

  6. Python——Requests库的开发者接口

    本文介绍 Python Requests 库的开发者接口,主要内容包括: 目录 一.主要接口 1. requests.request() 2. requests.head().get().post() ...

  7. 【原创】python requests 库底层Sockets处于close_wait状态

    以前对于Requests库只是简单是使用,在现在公司的后台中,有多个接口是直接使用requests.get .post之类的方法来做的,进行过一段时间的压力测试,发现性能低的可怜,且linux服务器有 ...

  8. Python requests库的使用(一)

    requests库官方使用手册地址:http://www.python-requests.org/en/master/:中文使用手册地址:http://cn.python-requests.org/z ...

  9. Python Requests库简单入门

    我对Python网络爬虫的学习主要是基于中国慕课网上嵩天老师的讲授,写博客的目的是为了更好触类旁通,并且作为学习笔记之后复习回顾. 1.引言 requests 库是一个简洁且简单的处理HTTP请求的第 ...

随机推荐

  1. SpringBoot引入第三方jar的Bean的三种方式

    在SpringBoot的大环境下,基本上很少使用之前的xml配置Bean,主要是因为这种方式不好维护而且也不够方便. 因此本篇博文也不再介绍Spring中通过xml来声明bean的使用方式. 一.注解 ...

  2. Kruskal 重构树小记

    其实也不是多难的知识点吧--学了一个中午+半个下午就把它学会了(做过那道 jxd 作业 CF571D 的应该比较好理解) Kruskal 重构树大概就是在正常 Kruskal 的时候,对于两个需要连边 ...

  3. 深入理解 OpenFOAM 环境变量与编译

    操作系统选择 由于 OpenFOAM 在 Linux 平台开发和测试,在非 Linux 平台无法直接对软件进行编译和安装,所以在非 Linux 平台上最简便方法是使用 docker 容器运行 Open ...

  4. BaiduPCS-Go----百度云下载工具

    1.网页登录百度网盘:https://pan.baidu.com/2.百度输入法生成:http://pcs.baidu.com/rest/2.0/pcs/file?app_id=265486& ...

  5. python3安装,支持openssl,支持采集https

    python3安装,支持openssl,支持采集https 坑好多,特别是安装的时候,各种不匹配,服务器默认配置是python2,升级3后,采集的时候用到openssl,花了两天也没搞定各种错误,也许 ...

  6. 毕业设计之dns搭建:

    [apps@dns_sever ~]$ sudo yum install -y bind [apps@dns_sever ~]$ sudo vim /etc/named.conf // // name ...

  7. Redis | 第9章 Lua 脚本与排序《Redis设计与实现》

    目录 前言 1. Lua 脚本 1.1 Redis 创建并修改 Lua 环境的步骤 1.2 Lua 环境协作组件 1.3 EVAL 命令的实现 1.4 EVALSHA 命令的实现 1.5 脚本管理命令 ...

  8. Yarn 生产环境核心参数配置案例

    目录 Yarn 生产环境核心参数配置案例 需求 修改yarn-site.xml配置 分发 重启集群 执行WordCount程序 Yarn 生产环境核心参数配置案例 调整下列参数之前要拍摄Linux快照 ...

  9. day02 Linux基础

    day02 Linux基础 1.什么是服务器 服务器,也称伺服器,是提供计算服务的设备.由于服务器需要响应服务请求,并进行处理,因 此一般来说服务器应具备承担服务并且保障服务的能力. windows: ...

  10. What all is inherited from parent class in C++?

    派生类可以从基类中继承: (1)基类中定义的每个数据成员(尽管这些数据成员在派生类中不一定可以被访问): (2)基类中的每个普通成员函数(尽管这些成员函数在派生类中不一定可以被访问): (3)The ...