要求:通过爬虫技术,模拟用户登录龙池网站,爬取用户的相关信息(昨日算力,昨日收益)
问题:龙池的网站需要滑动解锁才可登录
一.模拟登录
1.使用会话访问主页,抓取主页中的token
import requests
from lxml import etree
s = requests.Session()
r = s.get("https://www.dpool.top/index")
html = etree.HTML(r.text)
node = html.xpath('//*[@id="forgetPwd"]/div/div[2]/form/input[1]')[0]
token = node.get('value')
注意:token是动态变化的,每次登录时都需要抓取
2.配置参数、首部,模拟登录
r = s.post("https://www.dpool.top/pools/login", headers = {'X-CSRF-TOKEN':token, 'Referer':'https://www.dpool.top/index'}
, params = {'email':'***********@163.com', 'password':'********'})
注意:如果不在headers添加token,r.status_code会打印500错误
二.获取数据并解析
r = s.get("https://www.dpool.top/pools/ajax-worker-stats", headers = {'Referer':'https://www.dpool.top/pools/dashboard'})
value = r.json()['shares_24h']
print value, "T/S"
r = s.get("https://www.dpool.top/pools/subaccount-list/?curr=1&nums=10", headers = {'Referer':'https://www.dpool.top/pools/subaccount'})
value = r.json()['data'][1]['profit']
print value
获得的数据为josn结构,可以通过response的json()函数直接提取
三.打印结果
<--dpool_BTC-->liang_06
91.34 T/S
0.00543674