2015-02-28 4 views
0

Так что я пытаюсь элементов веб-скоблить на этой странице:Как эффективно очищать эти ненормальные значения?

https://zkillboard.com/kill/44887120/overview/

Некоторые из них довольно легко, как если бы я хотел, чтобы количество упал ISK я бы просто использовать:

dropped = soup.find("td", class_="item_dropped").get_text() 

, который приведет: 13,270,929,632.15 ISK

Однако, я хочу, чтобы захватить некоторые другие значения, но они сложнее. Скажем, я хочу, чтобы захватить имя жертвы, в данном случае это DwarfMaster если посмотреть на исходный код для сайта он указан в разделе: <a href="/character/1248683700/">

Проблема с этим является жертвой для выиграл эти страницы 't всегда 1248683700, и не только это, есть другие/символы/цифры на странице, представляющие разные символы. Я не хочу царапать, хотя все они находятся в одном положении. Есть ли лучший способ, чем просто очищать каждый тег <a> и вызывать X-ю позицию /character/, а затем искать теги с этим символом? Это звучит очень неряшливо. И затем на странице есть еще одна сложная царапина, если вы посмотрите на правую сторону под 45 Involved, вы можете увидеть название корабля игроков, например Silent Ivy 's ship is Nyx, но единственный способ, которым я могу найти это значение, - это внутри ссылки изображения, без фактического текста. В этом случае: <img class="eveimage img-rounded" width="32" height="32" **alt="Nyx"** src="website.png"></img> как я могу очистить значение alt="Nyx"?

ответ

1

Считаете ли вы, что позиция тега, которую вы ищете, исправлена ​​на всех этих страницах?

E.g. что «имя жертвы» всегда доступен под первым якорем первой строки таблицы первой таблицы в первой таблице:

name = soup.table.table.tr.a.get('title') 

Что касается получения имени данного судна, доступ к атрибуту, что altimg тега:

import re 
shipname = soup.find_all('tr', class_="attacker")[0].find_all('a', href=re.compile('/ship/'))[0].img.get('alt') 

Я использовал немного объезда, чтобы получить доступ к элементу, но это должно дать вам представление о том, как получить доступ к этим атрибутам.

+0

Точно, что я искал, спасибо! – ArnoldM904

Смежные вопросы