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

整站排名服务做滋补品销售有什么网站

整站排名服务,做滋补品销售有什么网站,天蝎网站推广优化,c语言做网站账号登录系统学习目标#xff1a; 了解 requests模块的介绍掌握 requests的基本使用掌握 response常见的属性掌握 requests.text和content的区别掌握 解决网页的解码问题掌握 requests模块发送带headers的请求掌握 requests模块发送带参数的get请求 1 为什么要重点学习requests模块…学习目标 了解 requests模块的介绍掌握 requests的基本使用掌握 response常见的属性掌握 requests.text和content的区别掌握 解决网页的解码问题掌握 requests模块发送带headers的请求掌握 requests模块发送带参数的get请求 1 为什么要重点学习requests模块而不是urllib requests的底层实现就是urllibrequests在python2 和python3中通用方法完全一样requests简单易用Requests能够自动帮助我们解压(gzip压缩的等)响应内容 2 requests的作用 作用发送网络请求返回响应数据 补充Python爬虫踩坑UnicodeEncodeError: ‘gbk‘ codec can‘t encode character 全有效解的决方法 PyCharm设置我注意到我已经用utf-8来解码了但是解释器的报错信息还是暴出gbk方面的解码错误。会对这串二进制流进行处理的只有三方一方是Chrome浏览器一方是Python解释器另一方是PyCharm事实证明Chrome浏览器用utf-8格式是可以解析的那么格式肯定是对的StreamReader类已经考虑到了异常字符的处理方式所以Python本身也不会有问题那么问题只有可能出在PyCharm的设置上了。点击File - Settings… 将下面的GBK改成UTF-8就可以解决这个问题了 大功告成 3 requests模块发送简单的get请求、获取响应 需求通过requests向百度首页发送请求获取百度首页的数据 import requests# 目标url url https://www.baidu.com# 向目标url发送get请求 response requests.get(url)# 打印响应内容 print(response.text)response的常用属性 response.text 响应体 str类型respones.content 响应体 bytes类型response.status_code 响应状态码response.request.headers 响应对应的请求头response.headers 响应头response.request._cookies 响应对应请求的cookieresponse.cookies 响应的cookie经过了set-cookie动作 思考text是response的属性还是方法呢 一般来说名词往往都是对象的属性对应的动词是对象的方法 3.1 response.text 和response.content的区别 response.text 类型str解码类型 requests模块自动根据HTTP 头部对响应的编码作出有根据的推测推测的文本编码如何修改编码方式response.encoding”gbk” response.content 类型bytes解码类型 没有指定如何修改编码方式response.content.deocde(“utf8”) 获取网页源码的通用方式 response.content.decode()response.content.decode(GBK)response.text 以上三种方法从前往后尝试能够100%的解决所有网页解码的问题 所以更推荐使用response.content.deocde()的方式获取响应的html页面 3.2 练习把网络上的图片保存到本地 我们来把www.baidu.com的图片保存到本地 思考 以什么方式打开文件保存什么格式的内容 分析 图片的url: https://www.baidu.com/img/bd_logo1.png利用requests模块发送请求获取响应以2进制写入的方式打开文件并将response响应的二进制内容写入 import requests# 图片的url url https://www.baidu.com/img/bd_logo1.png# 响应本身就是一个图片,并且是二进制类型 response requests.get(url)# print(response.content)# 以二进制写入的方式打开文件 with open(baidu.png, wb) as f:# 写入response.content bytes二进制类型f.write(response.content)4 发送带header的请求 我们先写一个获取百度首页的代码 import requestsurl https://www.baidu.comresponse requests.get(url)print(response.content)# 打印响应对应请求的请求头信息 print(response.request.headers)为什么请求需要带上header 模拟浏览器欺骗服务器获取和浏览器一致的内容 4.1 header的形式字典 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36} 4.2 用法 requests.get(url, headersheaders) 4.3 完整的代码 import requestsurl https://www.baidu.comheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36}# 在请求头中带上User-Agent模拟浏览器发送请求 response requests.get(url, headersheaders)# print(response.content)# 打印请求头信息 print(response.request.headers)5 发送带参数的请求 我们在使用百度搜索的时候经常发现url地址中会有一个 ?那么该问号后边的就是请求参数又叫做查询字符串 5.1 什么叫做请求参数 例1https://blog.csdn.net/weixin_51390582 例2https://blog.csdn.net/weixin_51390582?spm1011.2415.3001.5343 例1中没有请求参数例2中?后边的就是请求参数 5.2 请求参数的形式字典 kw {wd:长城} 5.3 请求参数的用法 requests.get(url,paramskw) 5.4 关于参数的注意点 在url地址中 很多参数是没有用的比如百度搜索的url地址其中参数只有一个字段有用其他的都可以删除 如何确定那些请求参数有用或者没用挨个尝试 对应的,在后续的爬虫中越到很多参数的url地址都可以尝试删除参数 5.5 两种方式发送带参数的请求 对https://www.baidu.com/s?wdpython发起请求可以使用requests.get(url, paramskw)的方式 # 方式一利用params参数发送带参数的请求 import requestsheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36}# 这是目标url # url https://www.baidu.com/s?wdpython# 最后有没有问号结果都一样 url https://www.baidu.com/s?# 请求参数是一个字典 即wdpython kw {wd: python}# 带上请求参数发起请求获取响应 response requests.get(url, headersheaders, paramskw)# 当有多个请求参数时requests接收的params参数为多个键值对的字典比如 ?wdpythonac--{wd: python, a: c}print(response.content)也可以直接对https://www.baidu.com/s?wdpython完整的url直接发送请求不使用params参数 # 方式二直接发送带参数的url的请求 import requestsheaders {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36}url https://www.baidu.com/s?wdpython# kw {wd: python}# url中包含了请求参数所以此时无需params response requests.get(url, headersheaders) 小结 requests模块的介绍能够帮助我们发起请求获取响应requests的基本使用requests.get(url)以及response常见的属性 response.text 响应体 str类型respones.content 响应体 bytes类型response.status_code 响应状态码response.request.headers 响应对应的请求头response.headers 响应头response.request._cookies 响应对应请求的cookieresponse.cookies 响应的cookie经过了set-cookie动作 掌握 requests.text和content的区别text返回str类型content返回bytes类型掌握 解决网页的解码问题 response.content.decode()response.content.decode(GBK)response.text 掌握 requests模块发送带headers的请求requests.get(url, headers{})掌握 requests模块发送带参数的get请求requests.get(url, params{})
http://www.zqtcl.cn/news/319625/

相关文章:

  • 让他人建设网站需要提供的材料女生读电子商务好就业吗
  • 北大荒建设集团网站国内开源代码网站
  • 高端企业网站要多少钱中企动力z云邮箱登录
  • 网站建设视频教程百度云那种自行提取卡密的网站怎么做
  • 网站外链建设与维护网站建设客户调研表
  • 海南省建设银行官方网站招聘营销的主要目的有哪些
  • flask 简易网站开发网站建设和空间
  • 怀化建设网站wordpress静态化插件
  • 网站上的中英文切换是怎么做的大连网站制作优选ls15227
  • 网站开发工作安排广告设计公司有哪些
  • 无人机公司网站建设用什么软件做网站最简单
  • 企业微信app下载安装电脑版淄博网站优化价格
  • 做一个电影网站需要多少钱在线代理服务器网站
  • 怎样制作微信网站办网络宽带多少钱
  • ios开发者账号有什么用嘉兴网站关键词优化
  • 怎样在外贸网站做业务简付后wordpress
  • html网页制作源代码成品长沙 网站优化
  • 长沙做网站哪里好百度招聘 网站开发
  • 创建网站服务器银川建设厅网站
  • 海口建设局网站代运营网站建设
  • 网站建设环境搭建心得体会微信开发者模式
  • 网站点击率多少正常落地页网站
  • 做淘宝店铺有哪些好的网站东莞网站制作建设收费
  • Wordpress 实名认证太原网站搜索优化
  • 大良网站建设dwxw网站可以自己做
  • 自己怎么建网站佛山哪家网站建设比较好
  • 长沙短视频制作公司广州网站优化注意事项
  • 北京西城网站建设公司蓬莱做网站价格
  • 网站镜像做排名网站托管工作室
  • 江苏省建设协会网站wordpress小说采集