各位。 我正在使用selenium进行一个python项目,以获取数据。 但是有一个问题,我必须每5分钟清理一次数据。 所以我用selenium运行chrome驱动程序,问题是seleniumscrape速度非常慢。 如果我运行这个项目,至少需要30分钟。我不能每5分钟获取一次数据。 如果你有这方面的经验,请帮助我。 如果你能给我其他的方法(比如漂亮的肥皂),我会很高兴的。 注意:我想要获取数据的这个站点是使用javascript呈现的。 这是我的源代码。我正在测试它
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import pandas as pd
import time
driver = webdriver.Chrome()
driver.set_window_size(800, 600)
tickerNames = []
finvizUrl = "https://finviz.com/screener.ashx?v=111&f=exch_nasd,geo_usa,sh_float_u10,sh_price_u10,sh_relvol_o2"
nasdaqUrl = "https://www.nasdaq.com/market-activity/stocks/"
tickerPrice = []
def openPage(url):
driver.get(url)
def exitDrive():
driver.quit()
def getTickers():
tickers = driver.find_elements_by_class_name('screener-link-primary')
for i in range(len(tickers)):
tickerNames.append(tickers[i].text)
return tickerNames
def comparePrice(tickers):
for i in range(len(tickers)):
openPage(nasdaqUrl+tickers[i])
tickerPrice[i] = driver.find_element_by_class_name('symbol-page-header__pricing-price').text
return tickerPrice
openPage(finvizUrl)
comparePrice(getTickers())
# getTickers()
print(comparePrice())
纳斯达克网站上似乎有一个API,您可以查询(使用网络工具找到),因此没有必要为此使用
selenium
。下面是一个使用requests
获取数据的示例相关问题 更多 >
编程相关推荐