re.findall遍历匹配,可以获取字符串中所有匹配的字符串,返回一个列表。

在调用re.findall的时候出现下面的错误

TypeError: expected string or bytes-like object

因为传入的是一个json的格式,就需要先将json格式换为str格式

# *===================================*
# -*- coding: utf-8 -*-
# * Time : 2019/11/8 15:25
# * Author : zhangsf
# *===================================*
import requests
import urllib
import re
import json
import ssl
#关闭了verify之后,引入urllib3的disable_warnings
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
ssl._create_default_https_context = ssl._create_unverified_context
# post请求
login_url = "https://xxxxxxx.com/owa/sessiondata.ashx"
header = {'Cookie':'X-BackEndCookie=S-1-5-21-1713849901-2797640346-4150151575-1009910=u56Lnp2ejJqBzsubzJvLycbSy87Nz9LLmsbL0sfHmpzSzZ7NncebmpzGzMrMgYHNz87G0s7N0s7Pq8/Oxc/JxcrO; __jdu=1571023082727881273581; pinId=2Bnp1DylQwi5X78E99k3fw; pin=zhangvalue; unick=zhangvalue; _tp=cOR1hNRYc3ccyW4KIJwFQQ%3D%3D; _pst=zhangvalue; user-key=c52f8d0d-498d-4685-9f32-7dee107dc2d4; cn=16; shshshfpa=b77ba96a-37d4-9aed-2808-8f342d4876af-1571026704; ClientId=A84FA33F1BDC45AD95097F44E4AA1CB9; X-OWA-JS-PSD=1; areaId=1; RoutingKeyCookie=v2:%2fV1xBTCDLP7eJXStxne5F48i2Y5XrC1%2fglQ5zDPnTSQ%3d:d89b6794-bf46-480f-bcf3-4fe09974a4b1@jd.com; lang=zh-CN; umail.jd.com=cb43089295b786f1781d9fc614eb7aa670b0dfb5; amail.jd.com=zhangshengfan; AppcacheVer=15.1.1415.2:zh-cnbase; ASP.NET_SessionId=821972ca-bb86-4a2a-8943-dcc79bce08ca; TimeOffset=-480; unpl=V2_ZzNtbUdTQEZ2W05WexFZDGILRwhKXhMQc19DAHsRXw1mBEJYclRCFX0URlRnGFgUZwEZX0RcQRxFCEdkeB5fA2AFEFlBZxpFK0oYEDlNDEY1WnxZRldAFXEIQlF6KWwGZzMSXHJXRxN1CUVWehBfA2QFG1RCVEUXcQFGZEsebDVXBBtfRVZLJXQ4R2Q5TQAFZQoUXkEaQxFzCEdXeRhVBmEAFFRLV0ATdwxPVEsYbAY%3d; __jdv=76161171|haosou-search|t_262767352_haosousearch|cpc|5512151540_0_452b2b93194849dd98a47f4e192906a4|1572932258714; shshshfpb=hK9LDqjkpSdZgURqoxXh1BA%3D%3D; 3AB9D23F7A4B3C9B=JZTUZRJV76NL6RWD6IMD2ULQP7WOUEYQ6FF4TIGNXZ2H7USWHQM6CBLV6MHV44GBEQXLJXPDMUQINRMNQZLBHHFDWM; ipLoc-djd=1-2809-51216-0; wlfstk_smdl=kz74wvntcfts60d7dg32z629mxsadq9y; TrackID=1nDRau2MeyWhemIqFXhYVrMilvDeaW_L9GTWtInP3XkUb_pHlROI3gqDILHRvmKnGNWOChdplj7rribkHaGLfbJg5jqHxWzJJJgQFiXmsI1A; ceshi3.com=201; shshshfp=7ed8f0db0856eef442ab47b94359bfad; __jda=258904465.1571023082727881273581.1571023083.1572932259.1573182677.10; __jdc=258904465; jd.erp.lang=zh_CN; erp1.jd.com=B002BA76FDD9A6C6CCAEE83E88AD91ACD309CE4CB91249F7BC19E07D3A9842E0BB26291B0C458C38E4A54BA4C0C12B723D9B496C55A7E865098A3496498ABF99CA41DD4C8EEDEA140D13C484D049B6D590F8D68137E59E232816054395E95D20; sso.jd.com=BJ.4beba401a69742b1b6153d7a7c692f57; ValiCode=HCCQSEDFYZ21; cadata=TgB7v5cZMyemSlAYXbW2kVDbWFpDtIuChIIhxISJbbVwkuIUHiDMzD7JLIJR8URvFGSgRt0+WOI1NNceW4ZDr3T8QR8dxnlJMRZA9HfbLFu20GC6vOQcHhbqjYz8+eIZ; cadataTTL=Mr0CmZoMW3A1zmnLQa5w1Q==; cadataKey=Rx3qLfNGK8YBYArw34sZ5Ij6oWnF5FST+W9T42+S2o3u/WSmxloAUxXO0Pzj95+hlVs9FcMVmb3U3N/rJi6AejmajntwElElOIyvHqOQeZHfM9VPF1o9tJh9n8JF12kVHA3bKk/knVE79gS0UeOGgCmo82F5kNuHIye9MApTnNf2NP13vZKTC/ChejG7Zb+xr0l372eTS8MdPUsX5hZI2dGWSFpA9JHUgyMtx/OBPSno515iDDNMtpt3ou8hGRyeKjGQu0c85zKXk5XFby8Y0lOs2mcMenhkHT80KBo2GyxdtNNeWODF/4DsJZ0FzwfgiWZ1GhentpFYspiYrAn1EA==; cadataIV=Mb/WGrc4FumyxAWXiUl7UdE/XtW+lR5waegzFbiUpH8jDQPrO3BWmmmG6mbAZBm9qKhYcNkaUVXlTlweAdFBl3Lbn8OSq3V9g84rEyDyHZy4LkiNnWiuSjEaa1+ZH5sDKJXK10fPGCqJvz30FdM8T+LnW4MgYYuMloO3aJbXSHoPJQJrKyuVASlSstbEyZwj6XRysxLs6/7HOQM/KBGcl8a43XbMarjHPEDoDopfmoPBPkXkDnEjHSlzOqU78R4Hx3AcePloIC8csuBYSPmuZ05kBza37Nr4EOwlBFeOYPn+ptAEdf4jq4hIigKwzIA5I9kybYkKmC/GyKxPus9Uow==; cadataSig=EZYiLFk+gD2+KPrLxIafzRyi6TPfWnfE9PJj+ecsWaEnzjFrE+v4c/uXpYyJ6Sn1Kgw0QBVsMmopYhnuzZMB7nbv5niBR0niyKjQz4HoNd/ps1Y7ylKEtVh6H7wmYdmSzWiymyGsxpYpVignqdPHvZuJSUILNy/1e7spy54F2l1FK5hqBYErV07R+TfRTEXXd6Ai9/jH0HkVyk0mXeP8ldFIcXeVq67Ml+5d9EW5Jin4Jj9OgGUTnwS3oAHSx3VVi0Qa6x7UVsLrFwMoWDd6if1+I/x20hWvxNJqTL8GeIuqeVEPeSg9H7VjNoRTvgeAINdGy8Id5swOKCnsZnM4dg==','X-OWA-UrlPostData':'%7B%22__type%22%3A%22FindItemJsonRequest%3A%23Exchange%22%2C%22Header%22%3A%7B%22__type%22%3A%22JsonRequestHeaders%3A%23Exchange%22%2C%22RequestServerVersion%22%3A%22Exchange2016%22%2C%22TimeZoneContext%22%3A%7B%22__type%22%3A%22TimeZoneContext%3A%23Exchange%22%2C%22TimeZoneDefinition%22%3A%7B%22__type%22%3A%22TimeZoneDefinitionType%3A%23Exchange%22%2C%22Id%22%3A%22China%20Standard%20Time%22%7D%7D%7D%2C%22Body%22%3A%7B%22__type%22%3A%22FindItemRequest%3A%23Exchange%22%2C%22ItemShape%22%3A%7B%22__type%22%3A%22ItemResponseShape%3A%23Exchange%22%2C%22BaseShape%22%3A%22IdOnly%22%7D%2C%22ParentFolderIds%22%3A%5B%7B%22__type%22%3A%22DistinguishedFolderId%3A%23Exchange%22%2C%22Id%22%3A%22inbox%22%7D%5D%2C%22Traversal%22%3A%22Shallow%22%2C%22Paging%22%3A%7B%22__type%22%3A%22SeekToConditionPageView%3A%23Exchange%22%2C%22BasePoint%22%3A%22Beginning%22%2C%22Condition%22%3A%7B%22__type%22%3A%22RestrictionType%3A%23Exchange%22%2C%22Item%22%3A%7B%22__type%22%3A%22IsEqualTo%3A%23Exchange%22%2C%22Item%22%3A%7B%22__type%22%3A%22PropertyUri%3A%23Exchange%22%2C%22FieldURI%22%3A%22InstanceKey%22%7D%2C%22FieldURIOrConstant%22%3A%7B%22__type%22%3A%22FieldURIOrConstantType%3A%23Exchange%22%2C%22Item%22%3A%7B%22__type%22%3A%22Constant%3A%23Exchange%22%2C%22Value%22%3A%22AQAAAAAAAQwBAAAAB6mSYAAAAAA%3D%22%7D%7D%7D%7D%2C%22MaxEntriesReturned%22%3A311%7D%2C%22ViewFilter%22%3A%22All%22%2C%22IsWarmUpSearch%22%3Afalse%2C%22FocusedViewFilter%22%3A-1%2C%22Grouping%22%3Anull%2C%22ShapeName%22%3A%22MailListItem%22%2C%22SortOrder%22%3A%5B%7B%22__type%22%3A%22SortResults%3A%23Exchange%22%2C%22Order%22%3A%22Descending%22%2C%22Path%22%3A%7B%22__type%22%3A%22PropertyUri%3A%23Exchange%22%2C%22FieldURI%22%3A%22ReceivedOrRenewTime%22%7D%7D%2C%7B%22__type%22%3A%22SortResults%3A%23Exchange%22%2C%22Order%22%3A%22Descending%22%2C%22Path%22%3A%7B%22__type%22%3A%22PropertyUri%3A%23Exchange%22%2C%22FieldURI%22%3A%22DateTimeReceived%22%7D%7D%5D%7D%7D'
}# requests中的post中传入的data可以不进行重编码
# login_postdata = urllib.parse.urlencode(postdata).encode('utf8')
response = requests.post(url=login_url, headers=header,verify=False)  # <class 'requests.models.Response'>
# 以下三种都可以解析结果
json1 = response.json()  # <class 'dict'>
json2 = json.loads(response.text)  # <class 'dict'>
json_str = response.content.decode('utf-8')  # <class 'str'>
# print(json1)
pattern="(?<='Subject': ').*?(?=',)"
#匹配到所有的主题
#findall需要传入的格式为str格式,需要str()
all_subject=re.findall(pattern, str(json2))
for subject in all_subject:print(subject)
# print(json2)
# print(json_str)
def text_save(filename, data):#filename为写入CSV文件的路径,data为要写入数据列表.file = open(filename,'a')for i in range(len(data)):# s = str(data[i]).replace('[','').replace(']','')#去除[],这两行按数据不同,可以选择# s = s.replace("'",'').replace(',','') +'\n'   #去除单引号,逗号,每行末尾追加换行符file.write(str(data[i])+'\n')file.close()print("保存文件成功")
text_save('output.txt',out_subjec)

TypeError: expected string or bytes-like object相关推荐

  1. Python 报错TypeError: expected string or bytes-like object

    问题描述:Python 中报错TypeError: expected string or bytes-like object 解决方法:根据报错上方的提示信息,大体猜测到可能出错的具体地方.出现该报错 ...

  2. 解决 TypeError: expected string or bytes-like object

    报错如下: Traceback (most recent call last):File "*.py", line 37, in <module>html = get( ...

  3. 解决:return _compile(pattern, flags).search(string) TypeError: expected string or buffer

    今天写爬虫,爬取MM图片页面的标题时,遇到了一个问题,上图: 看看我的代码: 1 import urllib 2 import urllib2 3 import re 4 5 class JPMSG: ...

  4. TypeError: expected str, bytes or os.PathLike object, not module

    TypeError: expected str, bytes or os.PathLike object, not module 目录 TypeError: expected str, bytes o ...

  5. pip安装库包遇到错误:TypeError: expected str, bytes or os.PathLike object, not int 的解决方法

    1 问题描述 1.在安装python3的库包时候,遇到和os模块相关的错误:TypeError: expected str, bytes or os.PathLike object, not int, ...

  6. 解决HuggingFace加载预训练模型时报错TypeError: expected str, bytes or os.PathLike object, not NoneType

    完整报错: TypeError: expected str, bytes or os.PathLike object, not NoneType 解决方法 检查下载的组件: 步骤1:完整的下载组件,包 ...

  7. TypeError: expected str, bytes or os.PathLike object, not int(解决方法)

    在使用 pip 安装软件时,报错如下 $ pip install numpy Exception: Traceback (most recent call last):   File "/u ...

  8. 21个TensorFlow项目转换tfrecord:TypeError: 'RGB' has type str, but expected one of: bytes(法二)

    最近在看21个TensorFlow项目一书中,由于我环境是Python3.5,项目中环境应该是Python2.运行第三章data_prepare文件夹下data_convert.py将图片转换为tfr ...

  9. 成功解决TypeError: sequence item 0: expected str instance, bytes found

    成功解决TypeError: sequence item 0: expected str instance, bytes found 目录 解决问题 解决思路 解决方法 解决问题 TypeError: ...

最新文章

  1. Django 运行 runserver 端口占用,报错:Errno 10013
  2. hdu 1272 小希的迷宫 (并查集)
  3. 三、ResNet50预置算法提高美食分类识别精确度
  4. ARPG手游性能分析报告:加载、GC、内存需重点关注
  5. 关于直播学习笔记-005-nginx-rtmp-win32在Win10上使用
  6. 现在人人都要准备的2020年六个事关职业生涯的技术趋势
  7. chrony软件使用说明
  8. 【英语学习】【English L06】U06 Banking L3 Do you have a credit card?
  9. memset 和 memcpy 和 memcmp (strncmp遇到\0会中断)
  10. 女生不能学理科?python+数据可视化分析15万考生的成绩,刷新了我的认知
  11. 没有安装opencv的linux系统上运行基于opencv,Linux环境下安装OpenCV
  12. linux CentOS7虚拟机修改静态ip地址
  13. webpy快速入门 搭建python服务器
  14. GZHU18级寒假训练:Aquarius's Trial F
  15. 音视频开发基础知识(转载)
  16. 整合SEO和UEO也许才是SEOer的出路
  17. 计算机组成原理寄存器的实验原理,计算机组成原理实验报告_寄存器的原理及操作课案.docx...
  18. 农信社计算机笔试百度云,农信社真题:2010年河南农村信用社招聘考试 计算机考试笔试部分...
  19. 云计算 = “潘多拉”?
  20. atto软件测试速度,平台说明及ATTO磁盘性能测试

热门文章

  1. DecimalFormat的用法 Java小数(float、dobule)格式化
  2. WorldWind源码剖析系列:BMNG类构造函数深入分析
  3. 浅析量化交易是什么类型的交易?
  4. RAW图像:安卓手机拍摄 Matlab数据读取
  5. 东京爱情故事主题曲的日文版歌词
  6. NVIDIA for Linux error :Dkms 的一些问题解决办法(gcc/g++的升级降级问题)
  7. 计算机组成原理在线作业3,大工20春《计算机组成原理》在线作业3满分
  8. 如何拿取微信企业号人员的完整部门
  9. 阿里、百度、华为:中国智能城市马拉松赛道上的三个技术高度
  10. 小站长如何利用软文进行推广网站