为什么'u'出现在我的字符串前面?

时间:2014-01-19 00:35:45

标签: python regex web-scraping

我是废弃网络的新手。

我在Python中使用BeautifulSoup取消了此表,但出现了simbol u',它既不是表也不是代码。

代码如下:

import urllib2
from bs4 import BeautifulSoup
first=urllib2.urlopen("http://www.admision.unmsm.edu.pe/res20130914/A/011/0.html").read()
soup=BeautifulSoup(first)
for tr in soup.find_all('tr')[2:]:
    tds = tr.find_all('td')
    print (tds[0].text, tds[1].text, tds[2].text, tds[3].text)

当我运行代码时,结果如下:

(u'494560', u'ABAD SAAVEDRA, GERSON HORACIO', u'011', u'1116.8750')
(u'455314', u'ABAD VALVERDE, MARIA ISABEL', u'011', u'1482.7500')
(u'491005', u'ABREGU HUAMAN, MERCEDES LILIANA', u'011', u'503.4000')
(u'457929', u'ACOSTA ABAD, ALEJANDRO FRANCISCO', u'011', u'413.0500')

所以,我的问题是:为什么会出现u'?我怎么能避免这个?

1 个答案:

答案 0 :(得分:1)

u表示字符串是unicode:

>>> v1 = u'a'
>>> v2 = u'b'
>>> type(v1)
<type 'unicode'>
>>> type(v2)
<type 'unicode'>
>>>

您可以通过删除print行上的括号来阻止它们被打印:

print tds[0].text, tds[1].text, tds[2].text, tds[3].text

以下是使用其他演示中的变量的演示:

>>> print (v1, v2)
(u'a', u'b')
>>> print v1, v2
a b
>>>