2015-05-21 4 views
-1

Я, вероятно, неправильно выполняю мой отказ, я знаю, что мало программирует, но мне хотелось бы знать, как я очищаю данные из таблицы html в python и свяжу его с его классом ... I на самом деле не знаю, что Я делаю так вот пример:python 2.7: сломать сайт

<div class="example"> 
    <a href="/example/thisexample"> 
     <span class="name">Product name</span> 
    </a> 
     <table> 
     <tbody> 
      <tr class="odd"> Some data </tr> 
      <tr class="even"> Some data </tr> 
      <tr class="odd"> Some data </tr> 
      <tr class="even"> Some data </tr> 
      <tr class="odd"> More data</tr> 
     </tbody> 
     </table> 
</div> 

пока Im способен собирать данные, используя LXML и поместить его в списке, однако, веб-страница содержит множество классов (как, например) и все имеют разные таблицы с более или менее строками, чем указано выше. Я хотел бы, чтобы данные из этих таблиц были связаны с классом aka здесь именем продукта ... Извините, если это мало смысла, я новичок в этом и не тронутый python, за исключением класса intro пару лет назад

+0

Покажите нам ожидаемый выход plz. – laike9m

ответ

1

Вы сказали, что хранят данные в списках, но хотите, чтобы они были связаны с классами, которые вы получаете из HTML? Если я понять правильно, хранить их в качестве словаря:

материал = {}

материал [ 'имя класса # 1'] = [ 'данные, что # 1 из таблицы в классе', «данные вещи # 2 из таблицы в классе ', ....' data thing # 3 из таблицы в классе ']
.
.
.
материал [ «имя класса #n»] = ....

таким образом ваш «материал» словарь будет хранить вещи в реляционную образом, таким образом, вы связаны, что в том, что на есть ключи к этим вещам

это ли это имеет смысл? это то, что вы спрашиваете?

Дополнительная информация о словарях here

+0

Словарь звучит неплохо, я буду изучать его, когда вернусь с работы сегодня вечером, однако я бы хотел, чтобы мои потерянные данные автоматически присваивались (словарь?), Если это имеет смысл. У сайта много классов, каждый из которых имеет таблицу, но не все имеют одинаковое количество строк, поэтому как я могу сказать Python, что словарь содержит столько данных? Потому что на данный момент у меня есть один список, содержащий все данные на странице, или я должен изменить свой код, чтобы попытаться получить данные в отдельных списках для каждой таблицы? Если да, то как я могу получить это, так как таблица и класс повторяют nam – sbhb91

+0

, а словарь добавляет к ней ключ всякий раз, когда вы укажете, то каждый ключ может содержать список, а списки в python не нуждаются в определенном размере. Итак, в коде sudoish: make dict: dict = {} ...... для каждого класса добавьте ключ в список: dict ['class name'] = [] ...... для каждой строки в таблице вы хотите добавить, dict ['class name']. append (row) .... это помогает? – northsideknight

+0

Я посмотрю, что я могу сделать! Thx за помощь! – sbhb91