技术标签: Python
requests对象的get和post方法都会返回一个Response对象,这个对象里面存的是服务器返回的所有信息,包括响应头,响应状态码等。其中返回的网页部分会存在.content和.text两个对象中。
.content中间存的是字节码 .text存的是.content编码后的字符串
一般来说 .text直接用比较方便 返回的是字符串 但是有时候会解析不正常导致
返回的是一堆乱码这时用.content.decode('utf-8')就可以使其显示正常。
总的来说.text是现成的字符串,.content还要编码,但是.text不是所有时候显示都正常,这是就需要用.content进行手动编码。
对requests获取的原始数据,有两种获取形式,一个是r.content一个是r.text。
二者的区别在于content返回的是byte型数据,而text返回的是Unicode数据,也就是说text对原始数据进行的特殊的编码,而这个编码方式是基于对原始数据的猜测(响应头),
text一般用于返回的文本
content的一般用于对返回的其他数据类型
但是对于某些网站的中文用text可能会导致返回乱码,所以最好是使用content然后自己进行重新编码。
最终结论是:text 返回的是unicode 型的数据,一般是在网页的header中定义的编码形式。
content返回的是bytes,二级制型的数据。
也就是说你如果想要提取文本就用text
但是如果你想要提取图片、文件,就要用到content
实例:
'''爬取图片并存储'''
import requests
url = 'http://msn-img-nos.yiyouliao.com/inforec-20200420-1f6f8c4e4eba52d13b92e219ee192327.jpg?time=1587491277&signature=79C0C217738938CE7AE4455B1AA83687'
filename = 'pic1.jpg'
with open(filename, 'wb') as f:
img = requests.get(url)
contt = img.content # 图片存储用二进制--content;text存储文本
f.write(contt)
wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
文章浏览阅读577次。教师档案管理系统是一个典型的高校档案管理系统,其开发过程主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求其应用程序具有功能完备,易使用等特点。经过分析,我们以B/S为开发模式,运用JSP(JAVA SERVER PAGES)和JAVA编程语言,以SQL Server 、 DREAMWEAVER、TOMCAT和EDITPLUS为开发平台,开发出了一个教师档案管理系统。_教师档案管理系统一般对谁开放,谁可以修改里边的数据
文章浏览阅读1.4k次,点赞8次,收藏23次。QTreeWidget与QStackedWidget的关联通过点击QTreeWidget来控制QStackedWidget中的page页面切换QTreeWidget有一点击的槽函数void MainWindow::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column){ //QTreeWidgetItem *item=item; if(item->text(column)=="学生管理") { _通过qtreeviewt切换stackedwidget的页面
文章浏览阅读4.3k次,点赞2次,收藏3次。背景之前由于有分表的需求,使用了sharding-jdbc,版本是3.0.0。前几天有一波高并发的调用,发现sharding-jdbc内部有报错(具体信息如下),也没有查出来具体的原因,盲猜使用升级大法,升到了4.0.0-RC1。变化还是有一些的,来记录一下4.0.0版本的配置。org.springframework.transaction.TransactionSystemException: Could not roll back JDBC transaction; nested except_org.springframework.transaction.transactionsystemexception: could not roll b
文章浏览阅读2.1k次。1、下载SoapToolkit3.0: win2000server 打上sp4补丁http://download.microsoft.com/download/2/e/0/2e068a11-9ef7-45f5-820f-89573d7c4939/soapsdk.exe 2、SoapToolkit3.0的使用例子: http://download.micro_soaptoolkit30
文章浏览阅读3.5k次。今天书看到Android中横屏的适配。如图,在横屏模式下屏幕布局发生了偏差。可以看出横屏模式下右侧有明显的空间。为适配横屏有两种方式,一种是使用相对布局,以屏幕边界作为参照点进行布局。先上图。布局文件activity_main.xml
文章浏览阅读1k次。一、安装环境1.操作系统:CentOS 6.102.GMP:版本 6.2.0,下载链接:https://gmplib.org/download/gmp/gmp-6.2.0.tar.xz3.MPC:版本 1.1.0,下载链接:http://ftp.gnu.org/gnu/mpc/mpc-1.1.0.tar.gz4.MPFR:版本 4.0.2,下载链接:https://www.mpfr...
文章浏览阅读389次。说明:学习记录HTTP content-type 对照表:https://www.runoob.com/http/http-content-type.htmlpost上传多个文件 //post上传多个文件 @Test public void uploadFileUnitTest() throws IOException { OkHttpClient okHttpClient = new OkHttpClient(); File file1 _requestbody.create(mediatype.parse("text/plain"), file))
文章浏览阅读2.3k次。1. NTP CRYPTO_ASSOC 内存泄漏导致拒绝服务漏洞 (CVE-2015-7701) 2. NTPD 栈缓冲区溢出漏洞(CVE-2014-9295) 3. NTPD PRNG无效熵漏洞(CVE-2014-9293) 4. NTPD PRNG弱加密漏洞(CVE-2014-9294) 5. NTP 身份验证绕过漏洞(CVE-2015-7871) 6. NTP Kiss-o'-Death拒绝服务漏洞 (CV..._ntp漏洞
文章浏览阅读1.4k次。.LOGPCB 单层板:一面有铜,另一面焊接,绝缘覆铜板,印刷,蚀刻,钻孔,裁剪双层板:两面都有铜,两面都可以布线,不同线通过过孔链接来替代单层板的飞线多层板:4层板在顶层和底层加入了,电源层和接地层,可以解决电磁干扰层 信号层signal 放元器件和铜导线,内部电源接地层 铺设电源和地,由铜膜构成,可提高抗EMI和稳定性机械层mechanical 说明性标注,尺寸,焊盘pad过孔..._pcb先画顶层丝印还是底层
文章浏览阅读281次。Cookie、Session的理解什么是Cookie二级目录三级目录什么是Cookie二级目录三级目录_cookie路径是什么意思
文章浏览阅读69次。Python基础语法入门(2天):1.Python语言介绍、发展史、与其它语言的对比2.编程语言分类、解释型vs编译型优缺点3.Python环境安装、Pycharm IDE使用4.基本语法:变量、常量命名规范、程序执行、编码区别5.二进制的演化与运算6..pyc是什么鬼?7.实战案例:用户交互小程序8.基本数据类型:int、str、bool、list、dict、set9.流程控制:if、elif、..._python开发具备的知识
文章浏览阅读265次。一、hive1.发展史:07年8月 – 始于Facebook13年5月 – 0.11 Stinger Phase 1 ORC HiveServer213年10月 – 0.12.0 Stinger Phase 2 - ORC improvement14年4月 – Hive 0.13.0 as Stinger Phase 314年11月 – Hive 0.14.015年2月 – Hive 1.0.015年5月 – Hive 1.2.016年2月 – Hive 2.0.0 (添加 HPLSQL,_怎么查找电脑有没有装hive