如何使用Python和Selenium分页来抓取页面

问题描述 投票:-8回答:1

我一直试图在网站http://merolagani.com/CompanyDetail.aspx?symbol=ADBL的“价格历史”标签下废弃该表

我使用Selenium来自动化过程,但实际上找不到实际结果,也无法更改到下一页

python selenium web-scraping scrapy selenium-chromedriver
1个回答
0
投票

编辑:经过几次测试后,我看到这个网址只提供了绘图/图表在页面上使用的数据,而不是来自"Price History"的数据。我没有看到"Price History"数据的网址,所以这个答案没有解决问题。它需要更多地挖掘请求和代码。

页面是使用ASP.Net创建的,它具有非常奇怪的系统来向服务器发送信息。 它使用JavaScript<form>来发送许多信息(在名称为_VIEWSTATE的字段中)而不是链接。


JavaScript从网址中读取数据(如JSON)

http://merolagani.com/handlers/webrequesthandler.ashx?type=g‌​et_company_graph&sym‌​bol=ADBL&dateRange=1‌​2

所以你也可以尝试阅读它

import requests

url = 'http://merolagani.com/handlers/webrequesthandler.ashx?type=get_company_graph&symbol=ADBL&dateRange=12'

r = r.requests(url)

data = r.json()

print('OK:', data['msgType'])
print('Symbol:', data['symbol'])
print('Name:', data['name'])
for row in data['quotes']:
    print('  date:', row['date'])
    print('  open:', row['open'])
    print(' close:', row['close'])
    print('  high:', row['high'])
    print('   low:', row['low'])
    print('volume:', row['volumen'])
    print('   rsi:', row['rsi'])
    print('----------------------')

结果:

OK: ok
Symbol: ADBL
Name: Agriculture Development Bank Limited
  date: 12/18/2016
  open: 540.0
 close: 540.0
  high: 540.0
   low: 525.0
volume: 6847.0
   rsi: 0.0
----------------------
  date: 12/19/2016
  open: 535.0
 close: 520.0
  high: 535.0
   low: 520.0
volume: 6963.0
   rsi: 0.0
----------------------
  date: 12/20/2016
  open: 520.0
 close: 520.0
  high: 530.0
   low: 505.0
volume: 9974.0
   rsi: 0.0
----------------------
© www.soinside.com 2019 - 2024. All rights reserved.