2013-10-11 3 views
0

С помощью этого кода я получаю следующий URL из BS разбора:Ненадлежащее Beautiful Soup Синтаксический

result, data = mail.uid('search', None, "(FROM '[email protected]')") # search and return uids instead 
latest_email_uid = data[0].split()[-1] 
result, data = mail.uid('fetch', latest_email_uid, '(RFC822)') 
raw_email = data[0][1] 

html = raw_email 
soup = BS(html) 

urls=[] 
for x in soup.find_all('a', href=True): 
    urls.append(x['href']) 

print urls 

Выходного

'3D"http://elink.tiffany.com/r/YB7DL5S/32FU1/5A6EIF/QFMQOO/6EN2U/52/h"=' 

Как я могу лишить первые 4 и последние 3 символов? Это что-то, что я могу сделать в красивом супе, или я должен использовать split()?

ответ

1

Просто используйте str.lstrip() и rstrip(). Недостатком этого метода является то, что вы хотите сейчас удалить.

Здесь, раздевая все URLs, как вы поместите их в список:

urls.append(x['href'].lstrip("'3D\"").rstrip("\"=\'")) 
+0

спасибо! знаете ли вы, что это могло быть сделано с красивым супом? – metersk

+0

Я не знаю, но я так не думаю .. – aIKid