Я недавно задал вопрос относительно того, как сохранить большие объекты питона в файл. Ранее у меня возникали проблемы с преобразованием массивных Python словарей в последовательность и их записью в файл через write ()
. Теперь я использую маринованный огурчик. Хотя он работает, файлы невероятно большие (> 5 ГБ). У меня мало опыта в области таких больших файлов. Я хотел знать, будет ли быстрее, или даже возможно, заархивировать этот файл маринованного огурчика, прежде чем хранить его в памяти.
-121--1081678-
Для моделирования и автоматизации веб-браузера используется WebKitDotNet . Это действительно гадко и работает в большинстве случаев. Однако, когда я пытаюсь реализовать этот код, WebKit не запускает загрузку:
WebKitBrowser _b = null;
private void button1_Click(object sender, EventArgs e)
{
_b = new WebKitBrowser();
_b.DownloadBegin += new FileDownloadBeginEventHandler(b_DownloadBegin);
_b.Error += new WebKitBrowserErrorEventHandler(_b_Error);
_b.AllowDownloads = true;
_b.Navigate("http://sourceforge.net/projects/webkitdotnet/files/WebKit%20.NET%200.x/0.5/WebKit.NET-0.5-bin-cairo.zip/download");
}
void _b_Error(object sender, WebKitBrowserErrorEventArgs e)
{
MessageBox.Show("error!");
}
void b_DownloadBegin(object sender, FileDownloadBeginEventArgs e)
{
MessageBox.Show("hi");
}
Ни события «Error», ни события «DownloadBegin» не возникают. Я бы ожидал, что по крайней мере один из них сделает это - есть ли установка, которую я пропускаю?
EDIT: я знаю, что это старый вопрос, но вот обновление. Когда я писал этот вопрос, я пытался автоматизировать процесс, который требовал человека - один раз в день - для входа на веб-сайт, предоставления полномочий и нажатия на ссылку для загрузки. Мы надеялись сделать это программно, чтобы облегчить монотонность для бедного человека, которому поручено выполнять эту работу.
К сожалению, WebKitDotNet не смог выполнить эту задачу. Хотя в браузере на основе webkit можно нажать на ссылку и запустить загрузку, во встроенном WebKitDotNet нажатие на ссылку ничего не сделало. Я думаю, что что-то в WebKitDotNet потеряло событие. Если кто-то хочет проверить это, вы можете использовать ссылку загрузки Sourceforge для тестирования.
Один из ребят из моей команды в конечном итоге решил эту проблему с помощью средства автоматизации Internet Explorer под названием «IMacros». Мы выбрали этот продукт, потому что 1) Мы можем гарантировать, что IE был установлен на каждом компьютере, который будет запускать программу, и 2) IMacros мог правильно получить событие с веб-сайта и запустить загрузку файла.