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

下列关于网站开发中网页网站建设 网站专题 网络推广

下列关于网站开发中网页,网站建设 网站专题 网络推广,网站虚拟空间过期,那些视频网站能用来直接做href文章目录 一、前言 二、SSL验证 三、代理设置 四、超时设置 ​ 五、身份认证 1#xff09;基本身份认证 2#xff09;摘要式身份认证 六、总结 一、前言 本篇文高阶篇#xff0c;上一篇为基础篇#xff0c;希望你一定要学完基础再来看高阶篇内容 基础篇文章可以看大…文章目录 一、前言 二、SSL验证 三、代理设置 四、超时设置 ​ 五、身份认证 1基本身份认证 2摘要式身份认证 六、总结 一、前言 本篇文高阶篇上一篇为基础篇希望你一定要学完基础再来看高阶篇内容 基础篇文章可以看大佬写的这篇requests基础篇 二、SSL验证 我们已12306网站为例子进行讲解。 首先我们请求一下12306 import requestsresponse requests.get(https://www.12306.cn/index/) print(response.status_code)运行结果   返回200 在这里居然能返回200按道理是应该失败的如果你有报错SSLError表示证书验证错误把 verify 参数设置为 False 即可 import requestsresponse requests.get(https://www.12306.cn, verifyFalse) print(response.status_code)运行结果 可以看到报错有个警告让我们添加证书我们可以通过设置忽略警告的方式来屏蔽这个警告 import requests from requests.packages import urllib3urllib3.disable_warnings() response requests.get(https://www.12306.cn, verifyFalse) print(response.status_code)运行结果 或者通过捕获警告到日志的方式忽略警告 import logging import requests logging.captureWarnings(True) response requests.get(https://www.12306.cn, verifyFalse) print(response.status_code)运行 三、代理设置 对于某些网站在测试的时候请求几次能正常获取内容。但是一旦开始大规模爬取对于大规模且频繁的请求网站可能会弹出验证码或者跳转到登录认证页面更甚者可能会直接封禁客户端的 IP导致一定时间段内无法访问。 那么为了防止这种情况发生我们需要设置代理来解决这个问题这就需要用到 proxies 参数。可以用这样的方式设置 import requestsproxies {http: http://10.10.1.10:3128,https: http://10.10.1.10:1080, }requests.get(https://www.taobao.com, proxiesproxies)当然直接运行这个实例可能不行因为这个代理可能是无效的请换成自己的有效代理试验一下(自己买 若代理需要使用 HTTP Basic Auth也可以这样写 import requestsproxies {https: http://user:password10.10.1.10:3128/,} requests.get(https://www.taobao.com, proxiesproxies)除了基本的 HTTP 代理外requests 还支持 SOCKS 协议的代理。 首先需要安装 socks 这个库 !pip install socks安装成功如下 然后就可以使用 SOCKS 协议代理了示例如下 import requestsproxy123.58.10.36:8080 #本地代理 #proxyusername:password123.58.10.36:8080 proxies{http:http://proxy,https:https://proxy } try:responserequests.get(http://httpbin.org/get,proxiesproxies)print(response.text) except requests.exceptions.ConnectionError as e:print(错误:,e.args)运行 你是不是想说我又在发无用代码都是不可以用的你要把我上面的ip换成有用的ip你就可以成功了为了避免被xx我就不演示了。 四、超时设置 在本机网络状况不好或者服务器网络响应太慢甚至无响应时我们可能会等待特别久的时间才可能收到响应甚至到最后收不到响应而报错。为了防止服务器不能及时响应应该设置一个超时时间即超过了这个时间还没有得到响应那就报错。这需要用到 timeout 参数。这个时间的计算是发出请求到服务器返回响应的时间。示例如下 import requestsr requests.get(https://blog.csdn.net/weixin_46211269?spm1000.2115.3001.5343typeblog, timeout1) print(r.status_code)运行结果 通过这样的方式我们可以将超时时间设置为 1 秒如果 1 秒内没有响应那就抛出异常。 实际上请求分为两个阶段即连接connect和读取read。上面设置的 timeout 将用作连接和读取这二者的 timeout 总和。如果要分别指定就可以传入一个元组 import requestsr requests.get(https://blog.csdn.net/weixin_46211269?spm1000.2115.3001.5343typeblog, timeout(10,20)) print(r.status_code)运行结果 如果想永久等待可以直接将 timeout 设置为 None或者不设置直接留空因为默认是 None。这样的话如果服务器还在运行但是响应特别慢那就慢慢等吧它永远不会返回超时错误的。其用法如下  import requestsr requests.get(https://blog.csdn.net/weixin_46211269?spm1000.2115.3001.5343typeblog, timeoutNone) print(r.status_code)或直接不加参数 import requestsr requests.get(https://blog.csdn.net/weixin_46211269?spm1000.2115.3001.5343typeblog) print(r.status_code)运行结果 五、身份认证 为什么认证比如这个网址点击打开 身份验证基本格式为  import requests from requests.auth import HTTPBasicAuth r requests.get(http://localhost:5000, authHTTPBasicAuth(username, password)) print(r.status_code)运行结果 1基本身份认证 此时可以使用 requests 自带的身份认证功能 import requests from requests.auth import HTTPBasicAuth r requests.get(https://static3.scrape.cuiqingcai.com/, authHTTPBasicAuth(admin, admin)) print(r.status_code)这样运行可还是会报错这就是我们前面说到的SSL验证 因此我们加上SSL验证为  import requests from requests.auth import HTTPBasicAuth r requests.get(https://static3.scrape.cuiqingcai.com/, authHTTPBasicAuth(username, password),verifyFalse) print(r.status_code)运行结果  返回401 认证失败 这个示例网站的用户名和密码都是 admin在这里我们可以直接设置。 import requests from requests.auth import HTTPBasicAuth r requests.get(https://static3.scrape.cuiqingcai.com/, authHTTPBasicAuth(admin, admin),verifyFalse) print(r.status_code)运行结果 如果用户名和密码正确的话请求时会自动认证成功返回 200 状态码如果认证失败则返回 401 状态码。 上面的代码可以直接简写如下  import requestsr requests.get(https://static3.scrape.cuiqingcai.com/, auth(admin, admin),verifyFalse) print(r.status_code)运行结果 2摘要式身份认证 另一种非常流行的HTTP身份认证形式是摘要式身份认证Digest AuthenticationRequests 对它的支持也是开箱即可用的 import requests from requests.auth import HTTPDigestAuth url http://httpbin.org/digest-auth/auth/user/pass requests.get(url, authHTTPDigestAuth(user, pass)) 运行  六、总结 上一篇我们已经学会了基础篇教程本篇是对上一篇内容的补充丰富希望大家能和我一样通过跟随大佬打卡不断进步不断成长。若本篇有不当之处请大家多多指正
http://www.zqtcl.cn/news/739342/

相关文章:

  • 个人网站吗wordpress超精简主题
  • 手机版免费申请微网站wordpress 跳转链接
  • 网站建设与管理好吗广州白云最新消息
  • 织梦动漫网站模版wordpress 页面文章列表
  • 东莞做网站沃德长沙市网站开发
  • 哪些网站做的最好厦门网站建设网站
  • 网站安全事件应急处置机制建设类似百度的网站
  • 内蒙古知名网站建设网站测速工具
  • 怎样建立网站赚钱怎么登录住建局官网
  • 建站自学网页转向功能网站
  • 网站都有什么费用做酒店网站有哪些目录
  • 本地郑州网站建设东莞网站优化中易
  • 动态域名可以建网站德州公司做网站
  • 深圳建设银行官方网站wordpress 添加qq
  • 甘肃第九建设集团公司网站网站对企业的好处
  • 论坛网站建设规划书公司网站建设与设计制作
  • 做棋牌游戏网站犯法吗如何进行搜索引擎的优化
  • 常见的网站首页布局有哪几种陈光锋网站运营推广新动向
  • 手机网站活动策划方案开一个设计公司
  • 宝塔建设网站教程visual studio 2010 网站开发教程
  • 做网站购买服务器做谷歌网站使用什么统计代码吗
  • 网站系统与网站源码的关系emlog轻松转wordpress
  • 网站的简介怎么在后台炒做吉林省住房城乡建设厅网站首页
  • 泉州易尔通网站建设国际酒店网站建设不好
  • 网页下载网站福田企业网站推广公司
  • 北京网站建设开发公司哪家好网站添加在线留言
  • 新建的网站怎么做seo优化平面广告创意设计
  • yy陪玩网站怎么做软件项目管理计划
  • 西安建网站价格低百度推广区域代理
  • 中英网站模板 照明公司注册在自贸区的利弊