self.cookies_path=os.getcwd()+'/cookies.text'
load_cookiejar = cookielib.LWPCookieJar()
load_cookiejar.load(self.cookies_path, ignore_discard=True, ignore_expires=True)
load_cookies = requests.utils.dict_from_cookiejar(load_cookiejar)
self.s.cookies=requests.utils.cookiejar_from_dict(load_cookies)
cookie文件如下
[
{
"domain": ".a.weixin.qq.com",
"expirationDate": 1519770087,
"hostOnly": false,
"httpOnly": false,
"name": "ADUSER_OPEN_ID",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "oQiT2txobu98sxd0xwB8CYtWRUFo",
"id": 1
},
{
"domain": ".a.weixin.qq.com",
"expirationDate": 1519770087,
"hostOnly": false,
"httpOnly": false,
"name": "agency_id",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "spid1953d833be",
"id": 2
},
{
"domain": ".a.weixin.qq.com",
"expirationDate": 1519770087,
"hostOnly": false,
"httpOnly": false,
"name": "data_bizuin",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "140919",
"id": 3
},
{
"domain": ".a.weixin.qq.com",
"expirationDate": 1519770087,
"hostOnly": false,
"httpOnly": false,
"name": "data_ticket",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "gym//VBWwi0wfjspSrG8S9Qb",
"id": 4
},
{
"domain": ".a.weixin.qq.com",
"expirationDate": 1519770087,
"hostOnly": false,
"httpOnly": false,
"name": "headimgurl",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "http://thirdwx.qlogo.cn/mmopen/vi_32/Q3auHgzwzM7hfuYIdDL26s1zViceg9Sl8CP21KWFUPVYbv4JLWelYPiaduxG4icB4cyXQq16PwPAvFnBhVlxbeWzQ/132",
"id": 5
},
{
"domain": ".a.weixin.qq.com",
"expirationDate": 1519770087,
"hostOnly": false,
"httpOnly": false,
"name": "MMAD_TICKET",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "bv04ozf5JDBVbB9wLwwlvTujl7E5i2YKig6UZR6o6ZrmjjI2IG+1SPdNC3ZG5SMzhfLNVNhIUj4=",
"id": 6
},
{
"domain": ".a.weixin.qq.com",
"expirationDate": 1519770087,
"hostOnly": false,
"httpOnly": false,
"name": "nick_name",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "%E9%A3%9E%E9%9B%AA%E8%BF%9E%E5%A4%A9",
"id": 7
},
{
"domain": ".a.weixin.qq.com",
"expirationDate": 1519770087,
"hostOnly": false,
"httpOnly": false,
"name": "nickname",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "",
"id": 8
},
{
"domain": ".qq.com",
"expirationDate": 2147385600,
"hostOnly": false,
"httpOnly": false,
"name": "o_cookie",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "873987836",
"id": 9
},
{
"domain": ".qq.com",
"expirationDate": 1831572651.953761,
"hostOnly": false,
"httpOnly": false,
"name": "pac_uid",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "1_873987836",
"id": 10
},
{
"domain": ".qq.com",
"hostOnly": false,
"httpOnly": false,
"name": "pgv_info",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": true,
"storeId": "0",
"value": "ssid=s5616949070",
"id": 11
},
{
"domain": ".qq.com",
"expirationDate": 2147385600,
"hostOnly": false,
"httpOnly": false,
"name": "pgv_pvi",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "2274925568",
"id": 12
},
{
"domain": ".qq.com",
"expirationDate": 2147385600,
"hostOnly": false,
"httpOnly": false,
"name": "pgv_pvid",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "4705218032",
"id": 13
},
{
"domain": ".qq.com",
"hostOnly": false,
"httpOnly": false,
"name": "pgv_si",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": true,
"storeId": "0",
"value": "s4369482752",
"id": 14
},
{
"domain": ".qq.com",
"expirationDate": 2147483647.844381,
"hostOnly": false,
"httpOnly": false,
"name": "pt2gguin",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "o0873987836",
"id": 15
},
{
"domain": ".qq.com",
"expirationDate": 2147483648.683,
"hostOnly": false,
"httpOnly": false,
"name": "ptcz",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "cbc87e66473cf2948090147ba4e7cf5852f011e7f80502e7d1af2b3a885f6b59",
"id": 16
},
{
"domain": ".qq.com",
"hostOnly": false,
"httpOnly": false,
"name": "qqmusic_fromtag",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": true,
"storeId": "0",
"value": "",
"id": 17
},
{
"domain": ".qq.com",
"hostOnly": false,
"httpOnly": false,
"name": "qqmusic_key",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": true,
"storeId": "0",
"value": "",
"id": 18
},
{
"domain": ".qq.com",
"hostOnly": false,
"httpOnly": false,
"name": "qqmusic_uin",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": true,
"storeId": "0",
"value": "",
"id": 19
},
{
"domain": ".qq.com",
"expirationDate": 2147483656.36283,
"hostOnly": false,
"httpOnly": false,
"name": "RK",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "NVI1ao3BcZ",
"id": 20
},
{
"domain": ".qq.com",
"hostOnly": false,
"httpOnly": false,
"name": "skey",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": true,
"storeId": "0",
"value": "@7fOp71lAL",
"id": 21
},
{
"domain": ".qq.com",
"expirationDate": 1834123424,
"hostOnly": false,
"httpOnly": false,
"name": "tvfe_boss_uuid",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "01dd18e500423787",
"id": 22
},
{
"domain": ".qq.com",
"hostOnly": false,
"httpOnly": false,
"name": "uin",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": true,
"storeId": "0",
"value": "o0873987836",
"id": 23
}
]
Traceback (most recent call last):
File "MP.py", line 39, in <module>
mp.log_in()
File "MP.py", line 26, in log_in
load_cookiejar.load(self.cookies_path, ignore_discard=True, ignore_expires=True)
File "/usr/lib/python2.7/cookielib.py", line 1779, in load
self._really_load(f, filename, ignore_discard, ignore_expires)
File "/usr/lib/python2.7/_LWPCookieJar.py", line 98, in _really_load
raise LoadError(msg)
cookielib.LoadError: '/home/stephen/PycharmProjects/Wechat_MP/cookies.text' does not look like a Set-Cookie3 (LWP) format file
你的cookie文件有問題,看樣子你是用了Chrome EditThisCookie 這個(gè)插件?
導(dǎo)出cookie的時(shí)候,插件默認(rèn)是json格式,需要把它改成LWP:Perl格式才行。
標(biāo)準(zhǔn)的 Set-Cookies3 格式如下:
// Semicolon separated Cookie File
// This file was generated by EditThisCookie
// Details: http://www.cookiecentral.com/faq/#3.5
// Example: http://www.tutorialspoint.com/javascript/javascript_cookies.htm
// URL: https://segmentfault.com/q/1010000013426257
Set-Cookie3: _ga=GA1.2.1747822062.1519069386; path="/"; domain=.segmentfault.com; path_spec; expires="1582838034"; version=0
Set-Cookie3: _gid=GA1.2.1140460524.1519670333; path="/"; domain=.segmentfault.com; path_spec; expires="1519852434"; version=0
Set-Cookie3: afpCT=1; path="/"; domain=.segmentfault.com; path_spec; expires="1519769616"; version=0
具體cookielib是怎么運(yùn)作的,可以參考一下源代碼。
修改:
試試這個(gè)代碼呢,可以嘗試用cookielib抓取某個(gè)網(wǎng)站的cookie和你的文件做一下格式上的對(duì)比。
我用了python2.7.14, 運(yùn)行無礙。
# -*- coding: utf-8 -*-
import cookielib
import urllib2
def save_cookies_LWP():
filename = 'cookies_LWP.txt'
cookie = cookielib.LWPCookieJar(filename)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
response = opener.open("http://example.webscraping.com")
cookie.save(ignore_discard=True, ignore_expires=True)
save_cookies_LWP()
cookies_path = './cookies_LWP.txt'
load_cookiejar = cookielib.LWPCookieJar(cookies_path)
load_cookiejar.load()
抓取到的LWP格式的cookie文本內(nèi)容如下:
#LWP-Cookies-2.0
Set-Cookie3: session_data_places="\"2a114e7184c63428656b257f79b6021f:Ki6ay7ZhMIym9RoBvCMdiygjJkaKZOWbw8fWfKidfrWsrY8skd3837uUpNnbckadaVU00KxufrwCIcSfr9oCZYusTLXIbzVvfq9oJmTMKQCaaH8WRqA9fwUDKTgSK0EVOXX6DyOpxGxK2oQ8D4xHAfsVVst7ol3QwAT0Jsd_9FqIuhuuMUt1TL755EoZGYWt\""; path="/"; domain="example.webscraping.com"; path_spec; discard; version=0
Set-Cookie3: session_id_places=True; path="/"; domain="example.webscraping.com"; path_spec; discard; httponly=None; version=0
cookies_json.txt 內(nèi)容如下:
"""
[
{"domain": ".a.weixin.qq.com",
"expirationDate": 1519770087,
"hostOnly": false,
"httpOnly": false,
"name": "ADUSER_OPEN_ID",
"path": "/",
"sameSite": "no_restriction",
"secure": false,
"session": false,
"storeId": "0",
"value": "oQiT2txobu98sxd0xwB8CYtWRUFo",
"id": 1}
]
"""
cookies_json_path = './cookies_json.txt'
cookies_results = []
with open(cookies_json_path, 'r') as cookie_file:
cookies_list = json.loads(
cookie_file.read()
)
for c in cookies_list:
cookies_results.append(c)
print cookies_results
# 結(jié)果如下
"""
[{u'domain': u'.a.weixin.qq.com', u'name': u'ADUSER_OPEN_ID', u'storeId': u'0', u'value': u'oQiT2txobu98sxd0xwB8CYtWRUFo', u'session': False, u'hostOnly': False, u'expirationDate': 1519770087, u'sameSite': u'no_restriction', u'path': u'/', u'id': 1, u'httpOnly': False, u'secure': False}]
"""
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。