使用此代码,我从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()?
答案 0 :(得分:1)
只需使用str.lstrip()
和rstrip()
即可。这种方法的缺点是,你现在必须要删除它。
在这里,当您将它们放入列表中时,剥离所有网址:
urls.append(x['href'].lstrip("'3D\"").rstrip("\"=\'"))