Python scrape crytocompare

Python scrape crytocompare,python,web-scraping,cryptography,bitcoin,Python,Web Scraping,Cryptography,Bitcoin,我试图使用python来获取crytocompare的“每月利润”输出。该网站使用javascript获取输出 目前我有: from selenium import webdriver driver = webdriver.PhantomJS() driver.get("https://www.cryptocompare.com/mining/calculator/xmr?HashingPower=65&HashingUnit=H%2Fs&PowerConsumptio

我试图使用python来获取crytocompare的“每月利润”输出。该网站使用javascript获取输出

目前我有:

from selenium import webdriver
driver = webdriver.PhantomJS()
driver.get("https://www.cryptocompare.com/mining/calculator/xmr?HashingPower=65&HashingUnit=H%2Fs&PowerConsumption=0&CostPerkWh=0.12&MiningPoolFee=.5")
p_element = driver.find_element_by_id(id_='ng-binding')
print(p_element.text)
错误:

Warning (from warnings module):
  File "C:\Python27\lib\site-packages\selenium\webdriver\phantomjs\webdriver.py", line 49
    warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless '
UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead
我遇到的问题是,我将使用Python 3.6 AWS Lambda函数

。我不相信我能安装Chrome/Firefox的无头版本


以上是为了得到我想要的输出而进行的过度杀戮吗?请帮忙

是的,你所尝试的完全是过火了。 对API的简单查询将为您提供所需的所有信息:

(您可以在浏览器中进行测试)

计算每种货币所需的数据为:
nethashesperssecond、BlockTime、BlockReward

您可以在这个javascript文件中找到页面执行的所有计算:

(chrome显示的格式很好)

检查函数
$scope.generateValue

将这些计算转换为python应该很容易

我希望有帮助

PS:我如何找到相关的js文件?如果使用浏览器调试页面,您将在该文件中找到所有代码
https://www.cryptocompare.com/DependencyHandler.axd?s=L3NjcmlwdHMvVmVuZG9yL2pxdWVyeS0xLjExLjMubWluLmpzOy9zY3JpcHRzL1ZlbmRvci9hbmd1bGFyLjEuNS41Lm1pbi5qczsvc2NyaXB0cy9WZW5kb3IvZXh0cmEtYW5ndWxhci1tb2R1bGVzLmpzOy9zY3JpcHRzL2luaXRhbmd1bGFyYXBwLmpzOy9zY3JpcHRzL1ZlbmRvci9zb2NrZXQuaW8tMi4wLjMuanM7L3NjcmlwdHMvVmVuZG9yL2hvdmVyLWRyb3Bkb3duLmpzOy9zY3Jpc2)2 2 2 2 2 2 2 ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ2 2 2 2 2 2 2 2 2 2 NVVVZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZNNNNNNNNBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBY3RPDMVZL21PBMLUZY5qczs&t=Javascript

我不是专家,但这看起来就像下载javascript依赖项一样,如果您对该参数进行base64解码,您将看到:

/scripts/Vendor/jquery-1.11.3.min.js/scripts/Vendor/angular.1.5.5.min.js/scripts/Vendor/extra-angular-modules.js/scripts/initangularapp.js/scripts/Vendor/socket.io-2.0.3.js/scripts/Vendor/hover-dropdown.js/脚本/streaming-utilities.js/scripts/services/global.js/scripts/controllers/global.js/脚本/指令/global.js/scripts/global.js/scripts/routes/mining-calculator-page.js/scripts/services/mining.js/脚本/控制器/mining.js/脚本/指令/mining.js

所有这些文件都可以下载


干杯。

如果您计划在Lambda内部部署,最好使用
请求
BeautifulSoup
。仅供参考,我认为这不会有帮助。使用javascript?啊,很好的一点,如果它是生成内容的话,这是行不通的。您可以尝试在装有chrome的ECS中运行容器。请注意,此api受某些条件的限制,请阅读。谢谢我找到了每月的利润方程式。然而,从上面的脚本中,我找不到他们是如何发现困难的。有人知道NethasesPerseond将用于什么用途吗?上面唯一没有告诉我的是困难。