transCookie
将从浏览器上Copy来的cookie字符串转化为Scrapy能使用的Dict
# -*- coding: utf-8 -*-
class transCookie:
def __init__(self, request_headers):
self.request_headers = request_headers
def stringToDict(self):
"""
将从浏览器上Copy来的cookie字符串转化为Scrapy能使用的Dict
:return:
"""
self.request_headers = self.request_headers.replace(' ', '')
itemDict = {}
items = self.request_headers.split('\n')
for item in items:
if len(item) > 0:
#print('--------------')
#print(item)
key = item.split(':')[0].replace(' ', '')
#print(key)
#print(item.split(':'))
value = item.split(':')[1].replace(' ', '')
itemDict[key] = value
#return itemDict
request_headers_dict = itemDict
if itemDict['Cookie']:
cookie = itemDict['Cookie']
cookieDict = {}
items = cookie.split(';')
for item in items:
key = item.split('=')[0].replace(' ', '')
value = item.split('=')[1]
cookieDict[key] = value
if itemDict['Cookie']:
del itemDict['Cookie']
return cookieDict,itemDict
if __name__ == "__main__":
import pprint
request_headers = """
Host: www.baidu.com
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: https://www.baidu.com/s?wd=12306
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: BAIDUID=2412A7DAF95616AE6395A83168C990A1:FG=1; BIDUPSID=2412A7DAF95616AE6395A83168C990A1; PSTM=1543806043; BDUSS=0JTZk5jZG1RZEhUVEd2Q1hBckhsNkxkcFBaSG5VMW03akRyeHFWTGFDYUxVRlpjQVFBQUFBJCQAAAAAAAAAAAEAAADgXsQqbWluaXN0ZXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIvDLlyLwy5cZ; pgv_pvi=3769543680; BD_UPN=12314753; ZD_ENTRY=google; cflag=13%3A3; BD_HOME=1; H_PS_PSSID=1420_21127_20880_28723_28557_28585_26350_28603_22157; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; BD_CK_SAM=1; PSINO=5; delPer=0; H_PS_645EC=039fkefIM7zgrHZ34t1oWpNscgBaDWCjYEdJppyb9DR1fC5EnoMZF2%2BdeTs
"""
trans = transCookie(request_headers)
#print(trans.stringCookies_ToDict())
cookie,headers = trans.stringToDict()
print('---------------------cookie----------------------')
pprint.pprint(cookie)
print('---------------------headers----------------------')
pprint.pprint(headers)