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. 最简单的Python3启动浏览器代码

    #encoding=utf-8 from selenium import webdriver import time from time import sleep   dr = webdriver.F ...

  2. k8s-数据持久化存储卷,nfs,pv/pvc

    目录 数据持久化-储存卷 官方文档 存储卷类型 1.emptyDir 2.hostpath 3.pv/pvc(推荐使用) nfs官方文档 安装测试nfs pv/pvc管理nfs 官方文档 pv/pvc ...

  3. BehaviorTree.CPP行为树BT的装饰器节点(五)

    Decorators 装饰器是只能有一个子项的节点. 由装饰者来决定是否,何时以及对子节点进行tick. InverterNode tick子节点一次,如果子节点失败则返回SUCCESS,如果孩子成功 ...

  4. 【CSP2019 D1T2】【括号树】

    题面 不再多说,想必大家都看过这个题 思路 我们可以手推几个满足条件的字符串 我们发现在这些字符串里 每个)都与离它最近的(的匹配 所以我们维护树上每个节点到根节点中没用使用过的(的位置(nl[n]) ...

  5. UOJ #11 - 【UTR #1】ydc的大树(换根 dp)

    题面传送门 Emmm--这题似乎做法挺多的,那就提供一个想起来写起来都不太困难的做法吧. 首先不难想到一个时间复杂度 \(\mathcal O(n^2)\) 的做法:对于每个黑点我们以它为根求出离它距 ...

  6. Atcoder Grand Contest 034 F - RNG and XOR(FWT)

    Atcoder 题面传送门 & 洛谷题面传送门 tsc 考试前 A 的题了,结果到现在才写这篇题解--为了 2mol 我已经一周没碰键盘了,现在 2mol 结束算是可以短暂的春天 短暂地卷一会 ...

  7. 数据仓库和数据集市:ODS、DW、DWD、DWM、DWS、ADS

    @ 目录 数据流向 何为数仓DW 主要特点 与数据库的对比 为何要分层 数据分层 数据运营层ODS 数据仓库层 数据细节层DWD 数据中间层DWM 数据服务层DWS(DWT) 数据应用层ADS 事实表 ...

  8. Oracle JDK 下载、配置与验证

    # 1. 解决官网下载JDK需要登录Oracle账号问题(JDK 8) JDK 1.8 官网下载地址: https://www.oracle.com/java/technologies/javase/ ...

  9. pycharm两个交互模式

  10. 52-Linked List Cycle

    Linked List Cycle My Submissions QuestionEditorial Solution Total Accepted: 102785 Total Submissions ...