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

网站建设工作流程江苏网站建设效果好

网站建设工作流程,江苏网站建设效果好,成都外贸网站建设费用,中国新闻社江西分社文章目录一.简介二.基本GET请求1.最基本的GET请求--直接用get方法2.添加 headers 和查询参数parmas3.通过requests获取网络上图片的大小三.基本POST请求1.传入data数据四.代理#xff08;proxies参数#xff09;五.私密代理六.web客户端验证七.Cookies 和 Sission1.Cookies2.… 文章目录一.简介二.基本GET请求1.最基本的GET请求--直接用get方法2.添加 headers 和查询参数parmas3.通过requests获取网络上图片的大小三.基本POST请求1.传入data数据四.代理proxies参数五.私密代理六.web客户端验证七.Cookies 和 Sission1.Cookies2.Session八.处理HTTPS请求 SSL证书验证一.简介 虽然Python的标准库中 urllib 模块已经包含了平常我们使用的大多数功能但是它的 API 使用起来让人感觉不太好而 Requests 自称 “HTTP for Humans”说明使用更简洁方便。 requests 的底层实现其实就是 urllib它继承了urllib的所有特性。Requests支持HTTP连接保持和连接池支持使用cookie保持会话支持文件上传支持自动确定响应内容的编码支持国际化的 URL 和 POST 数据自动编码。 利用 pip 安装 或者利用 easy_install 都可以完成安装 $ pip install requests$ easy_install requests 二.基本GET请求 1.最基本的GET请求–直接用get方法 response.text和response.content的区别 response.content这个是直接从网络上面抓取的数据。没有经过任何解码。所以是一个bytes类型。其实在硬盘上和在网络上传输的字符串都是bytes类型。 response.text这个是str的数据类型是requests库将response.content进行解码的字符串。解码需要指定一个编码方式requests会根据自己的猜测来判断编码的方式。所以有时候可能会猜测错误就会导致解码产生乱码。这时候就应该使用response.content.decode(‘utf-8’)进行手动解码。 import requestsresponse requests.get(http://www.baidu.com/)print(----------) print(response.request.headers) print(----------) print(response.text) print(----------) print(response.content) 输出结果 ---------- {User-Agent: python-requests/2.22.0, Accept-Encoding: gzip, deflate, Accept: */*, Connection: keep-alive} ---------- !DOCTYPE html !--STATUS OK--html headmeta http-equivcontent-type contenttext/html;charsetutf-8meta http-equivX-UA-Compatible contentIEEdgemeta contentalways namereferrerlink relstylesheet typetext/css hrefhttp://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.csstitleç™¾åº¦ä¸€ä¸‹ï¼Œä½ å°±çŸ¥é“/title/head body link#0000cc div idwrapper div idhead div classhead_wrapper div classs_form div classs_form_wrapper div idlg img hidefocustrue src//www.baidu.com/img/bd_logo1.png width270 height129 /div form idform namef action//www.baidu.com/s classfm input typehidden namebdorz_come value1 input typehidden nameie valueutf-8 input typehidden namef value8 input typehidden namersv_bp value1 input typehidden namersv_idx value1 input typehidden nametn valuebaiduspan classbg s_ipt_wrinput idkw namewd classs_ipt value maxlength255 autocompleteoff autofocus/spanspan classbg s_btn_wrinput typesubmit idsu value百度一下 classbg s_btn/span /form /div /div div idu1 a hrefhttp://news.baidu.com nametj_trnews classmnavæ–°é—»/a a hrefhttp://www.hao123.com nametj_trhao123 classmnavhao123/a a hrefhttp://map.baidu.com nametj_trmap classmnav地图/a a hrefhttp://v.baidu.com nametj_trvideo classmnav视频/a a hrefhttp://tieba.baidu.com nametj_trtieba classmnav贴吧/a noscript a hrefhttp://www.baidu.com/bdorz/login.gif?loginamp;tplmnamp;uhttp%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 nametj_login classlb登录/a /noscript scriptdocument.write(a hrefhttp://www.baidu.com/bdorz/login.gif?logintplmnu encodeURIComponent(window.location.href (window.location.search ? ? : ) bdorz_come1) nametj_login classlb登录/a);/script a href//www.baidu.com/more/ nametj_briicon classbri styledisplay: block;更多产品/a /div /div /div div idftCon div idftConw p idlh a hrefhttp://home.baidu.comå ³äºŽç™¾åº¦/a a hrefhttp://ir.baidu.comAbout Baidu/a /p p idcpcopy;2017nbsp;Baidunbsp;a hrefhttp://www.baidu.com/duty/ä½¿ç”¨ç™¾åº¦å‰å¿ è¯»/anbsp; a hrefhttp://jianyi.baidu.com/ classcp-feedback意见反馈/anbsp;京ICP证030173号nbsp; img src//www.baidu.com/img/gs.gif /p /div /div /div /body /html---------- b!DOCTYPE html\r\n!--STATUS OK--html headmeta http-equivcontent-type contenttext/html;charsetutf-8meta http-equivX-UA-Compatible contentIEEdgemeta contentalways namereferrerlink relstylesheet typetext/css hrefhttp://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.csstitle\xe7\x99\xbe\xe5\xba\xa6\xe4\xb8\x80\xe4\xb8\x8b\xef\xbc\x8c\xe4\xbd\xa0\xe5\xb0\xb1\xe7\x9f\xa5\xe9\x81\x93/title/head body link#0000cc div idwrapper div idhead div classhead_wrapper div classs_form div classs_form_wrapper div idlg img hidefocustrue src//www.baidu.com/img/bd_logo1.png width270 height129 /div form idform namef action//www.baidu.com/s classfm input typehidden namebdorz_come value1 input typehidden nameie valueutf-8 input typehidden namef value8 input typehidden namersv_bp value1 input typehidden namersv_idx value1 input typehidden nametn valuebaiduspan classbg s_ipt_wrinput idkw namewd classs_ipt value maxlength255 autocompleteoff autofocus/spanspan classbg s_btn_wrinput typesubmit idsu value\xe7\x99\xbe\xe5\xba\xa6\xe4\xb8\x80\xe4\xb8\x8b classbg s_btn/span /form /div /div div idu1 a hrefhttp://news.baidu.com nametj_trnews classmnav\xe6\x96\xb0\xe9\x97\xbb/a a hrefhttp://www.hao123.com nametj_trhao123 classmnavhao123/a a hrefhttp://map.baidu.com nametj_trmap classmnav\xe5\x9c\xb0\xe5\x9b\xbe/a a hrefhttp://v.baidu.com nametj_trvideo classmnav\xe8\xa7\x86\xe9\xa2\x91/a a hrefhttp://tieba.baidu.com nametj_trtieba classmnav\xe8\xb4\xb4\xe5\x90\xa7/a noscript a hrefhttp://www.baidu.com/bdorz/login.gif?loginamp;tplmnamp;uhttp%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 nametj_login classlb\xe7\x99\xbb\xe5\xbd\x95/a /noscript scriptdocument.write(\a hrefhttp://www.baidu.com/bdorz/login.gif?logintplmnu\ encodeURIComponent(window.location.href (window.location.search ? ? : ) bdorz_come1) \ nametj_login classlb\xe7\x99\xbb\xe5\xbd\x95/a\);/script a href//www.baidu.com/more/ nametj_briicon classbri styledisplay: block;\xe6\x9b\xb4\xe5\xa4\x9a\xe4\xba\xa7\xe5\x93\x81/a /div /div /div div idftCon div idftConw p idlh a hrefhttp://home.baidu.com\xe5\x85\xb3\xe4\xba\x8e\xe7\x99\xbe\xe5\xba\xa6/a a hrefhttp://ir.baidu.comAbout Baidu/a /p p idcpcopy;2017nbsp;Baidunbsp;a hrefhttp://www.baidu.com/duty/\xe4\xbd\xbf\xe7\x94\xa8\xe7\x99\xbe\xe5\xba\xa6\xe5\x89\x8d\xe5\xbf\x85\xe8\xaf\xbb/anbsp; a hrefhttp://jianyi.baidu.com/ classcp-feedback\xe6\x84\x8f\xe8\xa7\x81\xe5\x8f\x8d\xe9\xa6\x88/anbsp;\xe4\xba\xacICP\xe8\xaf\x81030173\xe5\x8f\xb7nbsp; img src//www.baidu.com/img/gs.gif /p /div /div /div /body /html\r\n 2.添加 headers 和查询参数parmas 如果想添加 headers可以传入headers参数来增加请求头中的headers信息。如果要将参数放在url中传递可以利用 params 参数。 import requestskw {wd:长城}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}# params 接收一个字典或者字符串的查询参数字典类型自动转换为url编码不需要urlencode() response requests.get(http://www.baidu.com/s?, params kw, headers headers)print(-----1-----) print(response.request.headers)# 查看响应内容response.text 返回的是Unicode格式的数据 print(-----2-----) print (response.text)# # 查看响应内容response.content返回的字节流数据 print(-----3-----) print (response.content)print(-----4-----) print (response.content.decode())# 查看完整url地址 print(----------------------5----------------------------) print (response.url)# 查看响应头部字符编码 print(-----6-----) print (response.encoding)# 查看响应码 print(-----7-----) print (response.status_code)输出结果 -----1----- {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, Accept-Encoding: gzip, deflate, Accept: */*, Connection: keep-alive} -----2----- !DOCTYPE html html langzh-CN headmeta charsetutf-8titleç™¾åº¦å®‰å ¨éªŒè¯/titlemeta http-equivContent-Type contenttext/html; charsetutf-8meta nameapple-mobile-web-app-capable contentyesmeta nameapple-mobile-web-app-status-bar-style contentblackmeta nameviewport contentwidthdevice-width, user-scalableno, initial-scale1.0, minimum-scale1.0, maximum-scale1.0meta nameformat-detection contenttelephoneno, emailnolink relshortcut icon hrefhttps://www.baidu.com/favicon.ico typeimage/x-iconlink relicon sizesany mask hrefhttps://www.baidu.com/img/baidu.svgmeta http-equivX-UA-Compatible contentIEEdgemeta http-equivContent-Security-Policy contentupgrade-insecure-requestslink relstylesheet hrefhttps://wappass.bdimg.com/static/touch/css/api/mkdjump_8befa48.css / /head bodydiv classtimeout hidediv classtimeout-img/divdiv classtimeout-title网络不给力,请稍后重试/divbutton typebutton classtimeout-button返回首页/button/divdiv classtimeout-feedback hidediv classtimeout-feedback-icon/divp classtimeout-feedback-title问题反馈/p/divscript srchttps://wappass.baidu.com/static/machine/js/api/mkd.js/script script srchttps://wappass.bdimg.com/static/touch/js/mkdjump_6003cf3.js/script /body /html -----3----- b!DOCTYPE html\nhtml langzh-CN\nhead\n meta charsetutf-8\n title\xe7\x99\xbe\xe5\xba\xa6\xe5\xae\x89\xe5\x85\xa8\xe9\xaa\x8c\xe8\xaf\x81/title\n meta http-equivContent-Type contenttext/html; charsetutf-8\n meta nameapple-mobile-web-app-capable contentyes\n meta nameapple-mobile-web-app-status-bar-style contentblack\n meta nameviewport contentwidthdevice-width, user-scalableno, initial-scale1.0, minimum-scale1.0, maximum-scale1.0\n meta nameformat-detection contenttelephoneno, emailno\n link relshortcut icon hrefhttps://www.baidu.com/favicon.ico typeimage/x-icon\n link relicon sizesany mask hrefhttps://www.baidu.com/img/baidu.svg\n meta http-equivX-UA-Compatible contentIEEdge\n meta http-equivContent-Security-Policy contentupgrade-insecure-requests\n link relstylesheet hrefhttps://wappass.bdimg.com/static/touch/css/api/mkdjump_8befa48.css /\n/head\nbody\n div classtimeout hide\n div classtimeout-img/div\n div classtimeout-title\xe7\xbd\x91\xe7\xbb\x9c\xe4\xb8\x8d\xe7\xbb\x99\xe5\x8a\x9b\xef\xbc\x8c\xe8\xaf\xb7\xe7\xa8\x8d\xe5\x90\x8e\xe9\x87\x8d\xe8\xaf\x95/div\n button typebutton classtimeout-button\xe8\xbf\x94\xe5\x9b\x9e\xe9\xa6\x96\xe9\xa1\xb5/button\n /div\n div classtimeout-feedback hide\n div classtimeout-feedback-icon/div\n p classtimeout-feedback-title\xe9\x97\xae\xe9\xa2\x98\xe5\x8f\x8d\xe9\xa6\x88/p\n /div\n\nscript srchttps://wappass.baidu.com/static/machine/js/api/mkd.js/script\nscript srchttps://wappass.bdimg.com/static/touch/js/mkdjump_6003cf3.js/script\n/body\n/html -----4----- !DOCTYPE html html langzh-CN headmeta charsetutf-8title百度安全验证/titlemeta http-equivContent-Type contenttext/html; charsetutf-8meta nameapple-mobile-web-app-capable contentyesmeta nameapple-mobile-web-app-status-bar-style contentblackmeta nameviewport contentwidthdevice-width, user-scalableno, initial-scale1.0, minimum-scale1.0, maximum-scale1.0meta nameformat-detection contenttelephoneno, emailnolink relshortcut icon hrefhttps://www.baidu.com/favicon.ico typeimage/x-iconlink relicon sizesany mask hrefhttps://www.baidu.com/img/baidu.svgmeta http-equivX-UA-Compatible contentIEEdgemeta http-equivContent-Security-Policy contentupgrade-insecure-requestslink relstylesheet hrefhttps://wappass.bdimg.com/static/touch/css/api/mkdjump_8befa48.css / /head bodydiv classtimeout hidediv classtimeout-img/divdiv classtimeout-title网络不给力请稍后重试/divbutton typebutton classtimeout-button返回首页/button/divdiv classtimeout-feedback hidediv classtimeout-feedback-icon/divp classtimeout-feedback-title问题反馈/p/divscript srchttps://wappass.baidu.com/static/machine/js/api/mkd.js/script script srchttps://wappass.bdimg.com/static/touch/js/mkdjump_6003cf3.js/script /body /html ----------------------5---------------------------- https://wappass.baidu.com/static/captcha/tuxing.html?akc27bbc89afca0463650ac9bde68ebe06backurlhttps%3A%2F%2Fwww.baidu.com%2Fs%3Fwd%3D%25E9%2595%25BF%25E5%259F%258Elogid9931754313911722977signaturee44e6266c70740aa0955def31c517835timestamp1587817039 -----6----- ISO-8859-1 -----7----- 2003.通过requests获取网络上图片的大小 from io import BytesIO,StringIO import requests from PIL import Image img_url http://imglf1.ph.126.net/pWRxzh6FRrG2qVL3JBvrDg/6630172763234505196.png response requests.get(img_url) f BytesIO(response.content) img Image.open(f) print(img.size)输出结果 (500, 262)理解一下 BytesIO 和StringIO 很多时候数据读写不一定是文件也可以在内存中读写。 StringIO顾名思义就是在内存中读写str。 BytesIO 就是在内存中读写bytes类型的二进制数据 例子中如果使用StringIO 即f StringIO(response.text)会产生cannot identify image file的错误 当然上述例子也可以把图片存到本地之后再使用Image打开来获取图片大小 三.基本POST请求 1.传入data数据 对于 POST 请求来说我们一般需要为它增加一些参数。那么最基本的传参方法可以利用 data 这个参数。 import requestsformdata {type:AUTO,i:i love python,doctype:json,xmlVersion:1.8,keyfrom:fanyi.web,ue:UTF-8,action:FY_BY_ENTER,typoResult:true }url http://fanyi.youdao.com/translate?smartresultdictsmartresultrulesmartresultugcsessionFromnullheaders{ User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36}response requests.post(url, data formdata, headers headers)print (-------------1-----------) print (response.text)# 如果是json文件可以直接显示 print (-------------2----------) print (response.json())运行结果 {type:EN2ZH_CN,errorCode:0,elapsedTime:3,translateResult:[[{src:i love python,tgt:我喜欢python}]],smartResult:{type:1,entries:[,肆文,,,高德纳,,]}}{type: EN2ZH_CN, errorCode: 0, elapsedTime: 3, translateResult: [[{src: i love python, tgt: 我喜欢python}]], smartResult: {type: 1, entries: [, 肆文, , , 高德纳, , ]}}四.代理proxies参数 如果需要使用代理你可以通过为任意请求方法提供 proxies 参数来配置单个请求 import requests# 根据协议类型选择不同的代理 proxies {http: http://12.34.56.79:9527,https: http://12.34.56.79:9527, }response requests.get(http://www.baidu.com, proxies proxies) print response.text也可以通过本地环境变量 HTTP_PROXY 和 HTTPS_PROXY 来配置代理 export HTTP_PROXYhttp://12.34.56.79:9527 export HTTPS_PROXYhttps://12.34.56.79:9527五.私密代理 import requests# 如果代理需要使用HTTP Basic Auth可以使用下面这种格式 proxy { http: mr_mao_hacker:sffqry9r61.158.163.130:16816 }response requests.get(http://www.baidu.com, proxies proxy)print (response.text)六.web客户端验证 如果是Web客户端验证需要添加 auth (账户名, 密码) import requestsauth(test, 123456)response requests.get(http://192.168.199.107, auth auth)print (response.text) 七.Cookies 和 Sission 1.Cookies 如果一个响应中包含了cookie那么我们可以利用 cookies参数拿到 import requestsresponse requests.get(http://www.baidu.com/)# 7\. 返回CookieJar对象: cookiejar response.cookies# 8\. 将CookieJar转为字典 cookiedict requests.utils.dict_from_cookiejar(cookiejar)print (cookiejar)print (cookiedict)运行结果 RequestsCookieJar[Cookie BDORZ27315 for .baidu.com/]{BDORZ: 27315}2.Session 在 requests 里session对象是一个非常常用的对象这个对象代表一次用户会话从客户端浏览器连接服务器开始到客户端浏览器与服务器断开。 会话能让我们在跨请求时候保持某些参数比如在同一个 Session 实例发出的所有请求之间保持 cookie 。 实现人人网登录 import requests# 1\. 创建session对象可以保存Cookie值 ssion requests.session()# 2\. 处理 headers 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}# 3\. 需要登录的用户名和密码 data {email:mr_mao_hacker163.com, password:alarmchime} # 4\. 发送附带用户名和密码的请求并获取登录后的Cookie值保存在ssion里 ssion.post(http://www.renren.com/PLogin.do, data data)# 5\. ssion包含用户登录后的Cookie值可以直接访问那些登录后才可以访问的页面 response ssion.get(http://www.renren.com/410043129/profile)# 6\. 打印响应内容 print (response.text)八.处理HTTPS请求 SSL证书验证 Requests也可以为HTTPS请求验证SSL证书 要想检查某个主机的SSL证书你可以使用 verify 参数也可以不写 import requests response requests.get(https://www.baidu.com/, verifyTrue)# 也可以省略不写 # response requests.get(https://www.baidu.com/) print (r.text)运行结果 !DOCTYPE html !--STATUS OK--html headmeta http-equivcontent-type contenttext/html;charsetutf-8meta http-equivX-UA-Compatible contentIEEdge百度一下你就知道 ....如果SSL证书验证不通过或者不信任服务器的安全证书则会报出SSLError
http://www.zqtcl.cn/news/367369/

相关文章:

  • 网站行业关键词如何建设网站
  • wordpress插件目录504wordpress访问优化插件
  • 固定ip做网站网页源码提取工具
  • php网站模板源码下载公司网络营销推广软件
  • 免费电子版个人简历模板温州快速排名优化
  • 网站修改titlewordpress显示icp备案
  • 中国国际贸易单一窗口登录南京专业网站优化公司
  • 手机网站建设合同wordpress案例分析
  • 深圳做网站什么公司好广州电商小程序开发
  • 郑州高新区做网站的公司如何欣赏网站
  • 网站做维恩图做网站的公司杭州
  • 柳州公司网站制作公司wordpress 网店
  • 网站增加栏目费用在网站开发中如何设置登录
  • 怎样用php做网站百度推广联系人
  • 怎么建立手机网站如何申请公司域名
  • 营销型网站怎么收费邓州企业网站
  • 北京建设官方网站邢台网站维护
  • 新余网站制作网站开发工资咋样
  • 襄阳网站建设外包自己做一个网站
  • 网站域名的后缀wordpress文章归类
  • 查询企业信息的官方网站大连建设网站公司
  • 网站建设 全包专业建设规划方案模板
  • 做网站好还是做微信小程序好浙江建设工程造价信息网站
  • 网站开发怎么报价推广普通话手抄报模板可打印
  • 好的平面网站模板企业网站建设浩森宇特
  • 做网站通过什么赚钱吗公司建设网站的费用
  • 如何做建筑一体化的网站视频网站开发应用到哪些技术
  • 巴中微信网站建设竞价托管一般多少钱
  • 彩票网站开发 违法股票网站排名哪个好
  • 宝格丽网站建设哈尔滨网站建设王道下拉強