Я впервые здесь постер, пытаюсь приобрести некоторые навыки Python; пожалуйста, будь добр ко мне: -)
Хотя я не совсем незнаком с концепциями программирования (я раньше возился с PHP), переход на Python оказался для меня несколько сложным. Я предполагаю, что это в основном связано с тем, что мне не хватает большинства - если не всех - базового понимания общих «шаблонов проектирования» (?) И тому подобного.
Сказав это, это проблема. Часть моего текущего проекта включает в себя написание простого скребка с использованием Beautiful Soup. Обрабатываемые данные имеют структуру, аналогичную той, которая представлена ниже.
<table>
<tr>
<td class="date">2011-01-01</td>
</tr>
<tr class="item">
<td class="headline">Headline</td>
<td class="link"><a href="#">Link</a></td>
</tr>
<tr class="item">
<td class="headline">Headline</td>
<td class="link"><a href="#">Link</a></td>
</tr>
<tr>
<td class="date">2011-01-02</td>
</tr>
<tr class="item">
<td class="headline">Headline</td>
<td class="link"><a href="#">Link</a></td>
</tr>
<tr class="item">
<td class="headline">Headline</td>
<td class="link"><a href="#">Link</a></td>
</tr>
</table>
Основная проблема заключается в том, что я просто не могу понять, как 1) отслеживать текущую дату (tr-> td class = "date"), в то время как 2) перебирать элементы в последующем tr: s (tr class = "item" -> td class = "headline" и tr class = "item" -> td class = "link") и 3) сохраняют обработанные данные в массиве.
Кроме того, все данные будут вставлены в базу данных, где каждая запись должна содержать следующую информацию:
Обратите внимание, что нехватка базы данных не является частью проблемы, я упомянул это только для того, чтобы лучше проиллюстрировать то, что я пытаюсь сделать здесь: -)
Теперь, есть много разных способов снять кожу с кошки. Поэтому, хотя решение данной проблемы действительно приветствуется, я был бы чрезвычайно признателен, если бы кто-то захотел уточнить реальную логику и стратегию, которую вы бы использовали, чтобы «атаковать» такого рода проблемы :-)
И последнее, но не менее важное, извините за такой дурацкий вопрос.