【发布时间】:2015-08-24 04:13:14
【问题描述】:
我正在使用 python 和 selenium 来抓取一个充满文本文件(作为 URL)的网站,然后使用请求来获取这些 txt 文件。
我使用的代码如下:
r = requests.get(link,cookies=cookies)
# Checking for a successful connection to the server.
if r.status_code == 200:
print("Downloading data for time %d, altitude %d" %(counter1, altitude) )
data = r.text # Extracting the text from the file online
file_name = os.path.join(path,fileName)
with open(file_name, 'w') as w:
w.write(data)
w.closed
# Closing browser
browser.close()
大约有 900 个奇怪的文件要下载,但在每 250 个奇怪的下载/请求后,脚本会因错误而终止
操作系统错误。 [Errno 24] 打开的文件太多。
我已确保正在写入的文件已关闭。 selenium 也是如此,在下载每个文本文件后,chromedriver 关闭,并且循环移动到下一个 URL。有没有其他人遇到过这种情况,如果有,您是如何解决的?
【问题讨论】:
-
能否请您发布完整的回溯,其中包括错误是从哪一行引发的?
-
这可能是一个愚蠢的问题,但你不使用 wget 有什么原因吗?
-
@AnandSKumar:没有回溯,我认为是系统抛出的错误,而不是python。
-
@PhilCairns 在网站上填写表格并单击按钮(更新数据)后获得生成的文本文件。因此 wget 将不起作用,因此 selenium。
标签: python selenium screen-scraping selenium-chromedriver