Python 不当靓汤解析

Python 不当靓汤解析,python,parsing,url,beautifulsoup,Python,Parsing,Url,Beautifulsoup,使用此代码,我从BS解析中获得以下URL: result, data = mail.uid('search', None, "(FROM 'tiffany@e.tiffany.com')") # 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]

使用此代码,我从BS解析中获得以下URL:

result, data = mail.uid('search', None, "(FROM 'tiffany@e.tiffany.com')") # 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()?

只要使用
str.lstrip()
rstrip()
。这种方法的缺点是,您现在必须准确地选择要删除的内容

在这里,当您将所有URL放入列表时,将其剥离:

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

非常感谢。你知道这是否可以用美味的汤来完成吗?