我正在努力获得用韩语写的某些文字。有没有更有效的方法来做到这一点,而不是将其转换为字符串并从那里解析它?
CODE:
#input: url
#output: name
def urlSC(url):
soup = BeautifulSoup(urllib2.urlopen(url).read())
name = soup.find('span', id = 'lblKName')
输出:
<span id="lblKName">구세군앵커리지한인교회<br>The Salvation Army Anch. Korean Corps.</br></span>
需要: 구세군앵커리지한인교회
url:http://www.koreanchurchyp.com/ViewDetail.aspx?OrgID=4102
答案 0 :(得分:2)
如果文字的韩文部分始终位于br标签之前的第一部分,您可以使用:
name = soup.find(id = 'lblKName').contents[0]
答案 1 :(得分:0)
提示:
对于HTML字符串,BeautifulSoup可以采用文件句柄。这稍微简单一点,如果您的文本更接近页面的开头,可能会更快。
soup = BeautifulSoup(urllib2.urlopen(url))
另一种选择是正则表达式。它们非常快,但也是构建正确的挑战,并且如果页面格式发生变化将会中断。坚持使用BeautifulSoup,除非你被困住。
BeautifulSoup可以使用多个不同的解析器库,具有不同的空间/时间/可靠性权衡。请参阅:http://www.crummy.com/software/BeautifulSoup/bs4/doc/