【发布时间】:2019-06-18 16:37:57
【问题描述】:
我有一个 csv 文件,其中包含从流式 API 抓取的链接。我在 while 循环中有一个脚本(称为“selenium.py”),其中 selenium webdriver 对每个 url 进行屏幕截图,然后将其保存在文件中。每分钟都会向 csv 文件添加更多行。
我的代码是:
df = pd.read_csv('screenshot.csv', header = 0, usecols= ['url','guid'])
while True:
i = 0
for i, row in df.iterrows():
r = driver.get(row['url'])
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
i += 1
for n in range(2):
file_name = str(row['guid'])
fn_1 = "date_stamp{n:0>5}.png".format(n = n)
date_stamp= str(datetime.datetime.now()).split('.')[0]
fn_1 = date_stamp
fn=driver.save_screenshot(file_name+ ' ' + date_stamp + '.png')
sourcepath='/Users/user/'
destinationpath = '/Users/user/Screen'
sourcefiles = os.listdir(sourcepath)
filename= file_name+ ' ' + date_stamp + '.png'
我需要什么:
我是这样在jupyter中运行脚本的:
while True:
%run "Selenium.py"
time.sleep(60.0 - ((time.time() - starttime) % 60.0))
我需要每次脚本运行时,迭代增加一行。
有什么帮助吗?
【问题讨论】:
-
selenium.py不是一个好的脚本名称,因为它共享模块的名称 -
好的,但这是一个例子
-
您的意思是您希望每 60 秒运行一次的截屏脚本仅截取 csv 中在这 60 秒内添加的 URL 的屏幕截图,而无需再次重做它处理的 csv 记录早点?
-
@godfryd 这可以是一个选项,但最初的问题是循环开始时它如何读取文件+流添加的附加行。
标签: python python-3.x pandas selenium-webdriver while-loop