|
Величина транзации при парсинге
|
|||
---|---|---|---|
#18+
Доброго времени суток всем. Делаю на python парсер данных сайта. В результате парсинга будет создана таблица с количеством столбцов около 20 и строк около 2000. На сайте это примерно 200 html страниц по 10 элементов (каждый из которых будет преобразован в одну строку в таблице). Планируется сделать возможность создания этой таблицы в разных форматах, пока скорее всего это будут sqlite или файл html. Надо решить, какой величины делать транзакцию при записи данных в таблицу. С одной стороны вроде бы правильно все данные записывать за одну транзакцию. С другой стороны чтобы не забивать оперативную память и для того, чтобы легче искать причины возможных "падений" парсера - транзакции можно сделать равными одной странице сайта (что равно 10 строкам таблицы). Может быть это пригодится в будущем, если придется использовать данный парсер для значительно бОльшего количества данных -десятки, сотни и более тысяч строк. Как считаете какой вариант лучше и по каким причинам? Или есть еще какие-то варианты? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2019, 16:22 |
|
Величина транзации при парсинге
|
|||
---|---|---|---|
#18+
Транзакция БД не должна быть меньше бизнес-транзакции. И больше её делать тоже не стоит. Так что читай ТЗ на предмет "всё или ничего" для твоего процесса. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2019, 16:28 |
|
Величина транзации при парсинге
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovТак что читай ТЗ на предмет "всё или ничего" для твоего процесса. Все ТЗ в моей голове, так как парсер делается для себя. И кратко изложено в начале топика. К нему можно еще добавить что после скачивания каждой html страницы делается пауза рандомной величины от 1 до 8 секунд (чтобы не создавать чрезмерной нагрузки на сайт не раздражать его админов). То есть, видимо в данном случае надо закрывать транзакцию после скачивания каждой страницы? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2019, 16:50 |
|
Величина транзации при парсинге
|
|||
---|---|---|---|
#18+
Решил делать постраничные транзакции. Так можно будет в случае аварийных завершений или редко встречающихся ошибок парсинга в при следующих запусках скачивать только не скачавшуюся корректно часть страниц а не начинать каждый раз заново. Целостность данных можно будет обеспечить отслеживанием номеров корректно скачанных страниц (для приблизительного позиционирования, так как время от времени элементы страниц на сайте добавляются) и заголовков элементов (каждый элемент имеет уникальный заголовок). Отслеживание по заголовку будет применяться для точного поиска последнего корректно скачанного элемента после примерного определения необходимой страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2019, 08:14 |
|
|
start [/forum/topic.php?fid=32&fpage=5&tid=1539948]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 138ms |
0 / 0 |