首页 > 其他分享 >urllib发送请求

urllib发送请求

时间:2023-09-30 13:55:43浏览次数:27  
标签:content 请求 url request urllib 发送 headers response

import urllib.request

url = "http://www.baidu.com"
response = urllib.request.urlopen(url)
content = response.read().decode('utf-8')
print(content)

  如果不加decode解码会是字节数据

code = response.getcode()
print(code)

  

headers = response.getheaders()
print(headers)

  下载:

import urllib.request
url = 'http://www.baidu.com'
urllib.request.urlretrieve(url,'baidu1.html')

  下载图片:

import urllib.request
url = 'https://img1.baidu.com/it/u=1095880180,3931424613&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=889'
urllib.request.urlretrieve(url,'daimei.jpg')

  百度url加了https后会有反爬,返回数据就没了

url = 'https://www.baidu.com'
res = urllib.request.urlopen(url)
content = res.read().decode('utf-8')
print(content)

  百度搜索关键字需要转成ASCII才行

import urllib.request
import urllib.parse

#url = 'https://www.baidu.com/s?wd=%E5%91%A8%E6%9D%B0%E4%BC%A6'

key = urllib.parse.quote('周杰伦')
url = 'https://www.baidu.com/s?wd=' + key

headers = {

        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62'
    }
request = urllib.request.Request(url=url,headers=headers)
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
print(content)

  百度搜索多个关键字使用urlencode:

import urllib.request
import urllib.parse

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36 Edg/96.0.1054.62'
}
data = {
    'wd':'周杰伦',
    'sex':'男',
    'location':'台湾'
}
reqData = urllib.parse.urlencode(data)
url = 'https://www.baidu.com/s?' + reqData
print(reqData)
request = urllib.request.Request(url=url,headers=headers)
response = urllib.request.urlopen(request)
content = response.read().decode('utf-8')
print(content)

  

标签:content,请求,url,request,urllib,发送,headers,response
From: https://www.cnblogs.com/sgj191024/p/17737769.html

相关文章

  • 怎么根据excel里面的内容和邮箱地址,生成pdf,并发送给对应邮箱
    Craftedby[Genie](https://marketplace.visualstudio.com/items?itemName=genieai.chatgpt-vscode)You怎么根据excel里面的内容和邮箱地址,生成pdf,并发送给对应邮箱Genie要根据Excel文件中的内容和邮箱地址生成PDF并发送到相应的邮箱,你可以使用Python编程语言来完成这个任......
  • 爬虫ajax的post请求肯德基官网
    #1页#http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname#post#cname:北京#pid:#pageIndex:1#pageSize:10#2页#http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx?op=cname#post#cname:北京#pid:#pageIndex:2#pageSize:10i......
  • Windows Server 2008 + IIS 7+ ASP.NET 支持10万并发请求
    调整IIS7应用程序池队列长度由原来的默认1000改为65535。InternetInformationServices(IIS)管理器>应用程序池>当前需要修改的网站所对应的应用程序池>高级设置队列长度:65535@echooffsetnewQueueLength=65535REM获取IIS安装路径for/f"tokens=2delims==......
  • 请求和响应
    第1关:通过response对象刷新网页任务描述本关任务:编写一个网页定时刷新并跳转的功能。相关知识为了完成本关任务,你需要掌握HttpServletResponse对象的常用方法和应用。编程要求在右侧编辑器Begin-End之间补充代码,编写一个模拟用户登录成功2秒后跳转至百度首页的......
  • 问题:对控制器类型“VideoController”的操作“UserVideos”的当前请求在下列操作方法
      这应该是你写了两个UserVideos()方法,翻看一下你的VideoController控制器,如果是多写了一个UserVideos()方法把多写的那个注销删除就可以了。(在其他情况下如果遇到操作方法不明确或者定义不明确可以先看看是不是什么东西写重复了) ......
  • Nginx与Tomcat、Client之间请求的长连接配置不一致问题分析解决
    nginx1.Nginx-反向代理nginx.conf:http{...###与Client连接的长连接配置###http://nginx.org/en/docs/http/ngx_http_core_module.html#keepalive_requests#设置通过"一个存活长连接"送达的最大请求数(默认是100,建议根据客户端在"keepa......
  • 网络请求-本机
    参考 https://cloud.tencent.com/developer/article/1839865本机网络通信的内核执行流程 跨机网络IO的流程是: 开篇三个问题的答案1)问题1:127.0.0.1本机网络IO需要经过网卡吗?通过本文的叙述,我们确定地得出结论,不需要经过网卡。即使了把网卡拔了本机网络是否还可以......
  • 1. weekly 发布及全网转发
 2. 各平台消息查看沟通及回复
 3. 中秋海报制作 公众
    作者:尚卓燃(PsiACE)澳门科技大学在读硕士,Databend研发工程师实习生ApacheOpenDAL(Incubating)Committerhttps://github.com/PsiACE对于Databend这样复杂的数据库服务端程序,往往需要支持大量的可配置选项,以帮助运维人员根据实际使用需要管理和调优系统。Databend目前支......
  • 测试域名跨域请求
    域名请求测试 curl-I-H"Origin:www.yht.com"-v"https://www.yht.com/app/work-share/js/libpag.wasm"该命令是使用curl工具发送HTTP请求的示例。它使用了以下参数:-H"Origin:www.yht.com":设置HTTP头部中的Origin字段为www.yht.com。Origin字段通常用于跨域请求的安全验证。......
  • Tekton触发器请求流程
    Tekton是一个用于构建、测试和部署云原生应用程序的开源框架。Tekton触发器(TektonTriggers)是Tekton的一个组件,它允许你定义和触发任务和管道的执行。触发器可以基于事件来触发任务或管道的执行,这些事件可以是源代码的提交、镜像的推送、定时触发等。......