我正在检索以下网址的来源:http://www.google.com/finance?q=EPA:RNO 使用urllib2。
问题是图表的默认设置会排除一些要放在页面源中的数据。因此,在检索源代码之前,我需要与页面进行交互。
使用默认设置时,如果您看到此行
<span class=settings-link>Settings</span>
你有
_chartConfigObject.defaultInterval = '86400';
我需要将其变为
_chartConfigObject.defaultInterval = '1800';
我可以使用Selenium吗?还有另一种方法,即使用浏览器cookie中保存的默认设置在检索网址源之前自动设置正确的间隔时间吗?
答案 0 :(得分:0)
有一个相关的网址参数chddi
来控制使用的时间间隔:
https://www.google.com/finance?chdnp=1&chdd=1&chds=1&chdv=1&chvs=Linear&chdeh=0&chfdeh=0&chdet=1415318689290&chddm=5210&chddi=1800&chls=CandleStick&q=EPA:RNO&ntsp=0&ei=hgxcVIDZDIuMqQHDmYDoCg
我是如何获得此网址的?我只需设置所需的图表设置,然后点击&#34;链接到此视图&#34;生成URL的按钮。
您可以使用selenium并控制图表设置,例如:
from selenium import webdriver
from selenium.webdriver.support.select import Select
url = 'http://www.google.com/finance?q=EPA:RNO'
driver = webdriver.Firefox()
driver.get(url)
settings = driver.find_element_by_class_name('settings-link')
settings.click()
candlestick = driver.find_element_by_xpath('//input[@value="CandleStick"]')
candlestick.click()
select = Select(driver.find_element_by_name('defaultInterval'))
select.select_by_value('1800')