Python,从htm中获取某个文本

2024-06-25 07:12:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在努力获得某种用韩语写的文本。有没有更有效的方法来实现这一点,而不是将其转换为字符串并从中进行解析

代码:

#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>

想要: 구세군앵커리지한인교회

网址:http://www.koreanchurchyp.com/ViewDetail.aspx?OrgID=4102


Tags: 方法字符串代码name文本bridurl
2条回答

提示:

  1. BeautifulSoup可以采用文件句柄,而不是HTML字符串。这稍微简单一点,如果您的文本更接近页面的开头,可能会更快

    soup = BeautifulSoup(urllib2.urlopen(url))
    
  2. 另一个选项是正则表达式。它们相当快,但要正确构建也是一个挑战,如果页面格式发生变化,它们就会中断。除非你被困住了,否则就坚持用美苏

  3. BeautifulSoup可以使用几个不同的解析器库,在空间/时间/可靠性方面进行不同的权衡。参见:http://www.crummy.com/software/BeautifulSoup/bs4/doc/

如果文本的韩语部分始终位于br标记前面的第一部分,则可以使用:

name = soup.find(id = 'lblKName').contents[0]

相关问题 更多 >