注册简书也有一段时间了,最近一直在忙着找爬虫方面的工作,希望在这个平台记录一下自己的成长历程。
最近在整理电脑文件的时候偶然发现了以前学习爬虫时写过的python文件,其中涉及到一个post请求,需要把chrome开发者工具中类似下图红框中的字段转为字典
14211628-e20b2b1514d7f879.png
我当时的写法是整个复制下来然后一个个手动加上引号将其变为字典,现在回想一下觉得可以写一个函数简化操作。
具体操作的话,先根据换行符将字符串分割,然后对于分割后得到的每一个元素再根据冒号分割成两个部分。这里需要注意一点,有时候某一个元素会像这样 x-swift-savetime: Fri, 12 Oct 2018 05:51:29 GMT 中间由于时间的存在含有多个冒号,这时候需要用到split里面的一个参数maxsplit,将其设为1,表示最多只会根据最左边的一个冒号来分割。具体代码如下:
string = """content-length: 10383
content-md5: R9j+oyk/9FwhM3UMwXCSbA==
content-type: application/x-javascript
date: Fri, 12 Oct 2018 05:51:31 GMT
eagleid: 42c6b24215394445275222435e
expires: Fri, 19 Oct 2018 05:51:32 GMT
last-modified: Fri, 12 Oct 2018 05:51:14 GMT
server: Tengine
status: 304
timing-allow-origin: *
vary: Accept-Encoding
via: cache14.l2ot7[166,200-0,M], cache14.l2ot7[167,0], cache1.us3[0,304-0,H], cache2.us3[1,0]
x-cache: HIT TCP_IMS_HIT dirn:9:91209777
x-oss-hash-crc64ecma: 6145746985751534974
x-oss-object-type: Normal
x-oss-request-id: 5BC03663C90E8423CB5C3155
x-oss-server-time: 6
x-oss-storage-class: Standard
x-swift-cachetime: 604800
x-swift-savetime: Fri, 12 Oct 2018 05:51:29 GMT"""
def change_str_into_dict(string):
lis = string.split('\n') #根据换行符将字符串分割
b = []
for li in lis:
a = li.split(': ', maxsplit = 1) #注意冒号右边有个空格
b.append(list(a))
return dict(b)
print(change_str_into_dict(string))