【问题标题】:Improper Beautiful Soup Parsing不正确的美汤解析
【发布时间】:2013-10-11 02:52:59
【问题描述】:

使用此代码,我从 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()?

【问题讨论】:

    标签: python parsing url beautifulsoup


    【解决方案1】:

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

    在这里,当您将它们放入列表时,剥离所有 url:

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

    【讨论】:

    • 谢谢!你知道这是否可以用漂亮的汤来完成?
    猜你喜欢
    • 2011-04-20
    • 1970-01-01
    • 2017-09-29
    • 2020-11-23
    • 2018-05-08
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 2014-08-11
    相关资源
    最近更新 更多