Dark1X

Dark1X

V2EX 第 144960 号会员,加入于 2015-10-29 17:00:35 +08:00
Dark1X 最近回复了
令人头秃
2019-05-06 17:08:02 +08:00
回复了 thisismr2 创建的主题 分享创造 Mr.2: 内网穿透
支持!非常好用!
@ochatokori 高级反爬? 看样子应该试试开发个 Chrome 插件抓取渲染之后的数据了。
2019-05-06 10:55:07 +08:00
回复了 mldie 创建的主题 奇思妙想 [首帖] 要过节了你选什么礼物送给 ta
@cainiuwow 路由器、电动螺丝刀,这礼物很硬核啊。
@ochatokori 感谢
我在测试的时候发现爬虫不加这个签名参数也是可以的。
现在的问题是浏览器上面获取的的数据与爬虫获取到的数据不一致。你有空的话复现帮我看看呀,麻烦了。
浏览器访问: https://删除这几个字 wk588.com/tools/kuangjiduibi
爬虫源码:
```
#!/usr/bin/env python3
# coding=utf-8

import requests
import json
import re

def getPage(url):
response = requests.get(url=url)
return response.text

if __name__ == '__main__':
headers = {
'User-Agent':'Mozilla/6.0 (X11; Linux armv7l) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.84 Safari/537.36',
'Accept-Encoding': 'gzip, deflate, sdch',
'Accept-Language': 'en-GB,en-US;q=0.8,en;q=0.6'
}

jsonData = getPage('https://删除这几个字 wk588.com/tools/json/qbkuanjiapi.php?n=Bitcoin&dj=0.4&_=1557106802754')
#print(json.loads(jsonData))
minerInfoList = json.loads(jsonData)['data']

# 矿机名称列表
nameList = []
# 算力列表
hashRateList = []
# 功耗列表
powerConsumptionList = []
# 能耗比列表 HashPowerConsumptionRatio
hpcRatioList = []
# 日产值列表
dailyEarnList = []
# 日电费列表
powerChargeList = []
# 电费占比列表
powerChargeRateList = []
# 每日净收益列表
dailyRetainedProfitList = []
for miner in minerInfoList:
if miner['sh'] == 'SHA-256':
minerName = re.sub('<\w.*?\s.*?>.*?','',miner['name'],2)
nameList.append(minerName)
hashRateList.append(miner['kjsn']['xs'])
powerConsumptionList.append(miner['kjgh']['xs'])
hpcRatioList.append(miner['kjdwgh']['xs'])
dailyEarnList.append(miner['rcz']['xs'])
powerChargeList.append(miner['rcdf']['xs'])
powerChargeRateList.append(str(miner['dfzb']['sz'])+'%')
dailyRetainedProfitList.append('¥'+str(miner['rcsy']['sz']))

print(len(nameList))

for i in range(len(nameList)):
print('%-20s' % nameList[i] + '\t' + hashRateList[i] + '\t\t' + powerConsumptionList[i] + '\t\t' + dailyEarnList[i])
```
@ochatokori 感谢
我在测试的时候发现爬虫不加这个签名参数也是可以的。
现在的问题是浏览器上面获取的的数据与爬虫获取到的数据不一致。你有空的话复现帮我看看呀,麻烦了。
浏览器访问: https://wk588.com/tools/kuangjiduibi
我理解这个数字是为了防止浏览器缓存用的,只是不知道这个数字是在什么时候加上去的?
猜想:是 jQuery 自动加上去的吗?
追问:
1. 这个类似时间戳的数字的生成逻辑在哪里、在 Python 爬虫里这个数字的值该如何构造?
2. 在 Python 爬虫中我尝试了随机修改这个数字,发现与浏览器获得的数据还是不一致。爬虫获取数据的时间与浏览器获取数据的时间相差不到 10 秒,而且我在短时间内再次刷新浏览器页面,发现两次刷新浏览器页面呈现的数据没有变化,所以排除在爬虫获取数据期间与浏览器获取数据期间服务端后台数据发生变化的可能。
我用 Chrome 和 Firefox 也发现 URL 后面会自动追加这个数字了。
显卡 ok 的话找个电便宜的地方挖矿
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1301 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 17:29 · PVG 01:29 · LAX 09:29 · JFK 12:29
Developed with CodeLauncher
♥ Do have faith in what you're doing.