所以我正在编写代码以通过python将我登录到我的ebay中,我想使用请求而不是使用硒来完成此操作。一切都进行得很顺利,直到我遇到了一组我认为存储在一个像素中的cookie为止。到目前为止,这是我的代码:
#!/usr/bin/env python
import requests
import sys
import time
import os
import platform
r = requests.Session()
r.headers.update({'User-Agent' : 'Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0'})
x = r.get('https://www.ebay.com/')
with open('ldata', 'w+') as ldata:
ldata.write(str(x.content))
ldata.close()
with open('ldata', 'r') as ldata:
for line in ldata:
if('https://rover.ebay.com/roversync/?site=' in line.strip()):
lnk = str(line.strip().split('src="')[1]).split('"')[0]
break;
ldata.close()
with open('ldata', 'r') as ldata:
for line in ldata:
if('https://svcs.ebay.com/delstats/imp/rtm?p=' in line.strip()):
svc = str(line.strip().split('data-rtm-pixel="')[1]).split('" d')[0]
break;
ldata.close()
svc = svc.replace('amp;','')
with open('ldata', 'r') as ldata:
for line in ldata:
if('sin:0,ct:0,pageId:' in line.strip()):
pcode = str(line.strip().split('sin:0,ct:0,pageId:')[1]).split(',')[0]
break;
ldata.close()
print(pcode)
os.remove('ldata')
r.headers.update({'Referer' : 'https://www.ebay.com/'})
payload = {
'dp1' : x.cookies['dp1'],
'ebay' : x.cookies['ebay'],
'nonsession' : x.cookies['nonsession'],
's' : x.cookies['s']
}
y = r.get(lnk,data=payload)
payload = {
'dp1' : x.cookies['dp1'],
'ebay' : x.cookies['ebay'],
'nonsession' : x.cookies['nonsession'],
'npii' : y.cookies['npii'],
's' : x.cookies['s']
}
h = r.get(svc,data=payload)
print(h.status_code)
print(h.cookies)
print(h.headers)
print(h.content)
我的问题是svc url有效,但是,当我查看页面内容时,它读取的页面无响应,并且没有返回cookie,尽管它具有200响应代码。有帮助吗?