Python 如何使用beautifulsoup获取原始文本?
我有这样一个xml:Python 如何使用beautifulsoup获取原始文本?,python,xml,parsing,hyperlink,beautifulsoup,Python,Xml,Parsing,Hyperlink,Beautifulsoup,我有这样一个xml: <link> www.link1.com </link> <link> www.link2.com </link> 使用此代码,输出是 [<link>www.link1.com</link>,<link>www.link2.com</link>] 您是否尝试过: linklist = [el.string for el in soup.findAll('link')] 试试
<link>
www.link1.com
</link>
<link>
www.link2.com
</link>
使用此代码,输出是
[<link>www.link1.com</link>,<link>www.link2.com</link>]
您是否尝试过:
linklist = [el.string for el in soup.findAll('link')]
试试这个:
from bs4 import BeautifulSoup
xml = """<html><link>
www.link1.com
</link>
<link>
www.link2.com
</link></html>"""
soup = BeautifulSoup(xml,features="xml")
linklist = soup.find_all('link')
linklist = map(lambda x: x.string, linklist)
从bs4导入美化组
xml=”“”
www.link1.com
www.link2.com
"""
soup=BeautifulSoup(xml,features=“xml”)
linklist=soup.find_all('link')
linklist=map(lambda x:x.string,linklist)
请注意,我已使用
features=“xml”
将构造函数更改为BeautifulSoup
,而不是BeautifulStoneSoup
,因为后者已被弃用。哇,非常感谢!它可以工作,但输出类似于[u'www.link1.com',u'www.link2.com]。。我怎样才能去掉unicode这个东西?是的,你会得到一个包含链接URL字符串的列表-这不是你想要的吗?这是我想要的,谢谢,但我只想要www.link1.com。输出为u'www.link.com。我能把u和’s取出来吗?u'www.link1.com'
只是表示它是unicode。只需打印链接列表[0]
即可查看,或者,如果您只想查看第一个
,请使用soup。查找而不是soup.findAll
哦,但我将把此列表值作为url放在另一个代码中。所以你的“www.link1.com”不起作用。。。我知道这是一个unicode,但我需要去掉这些u和。谢谢你的建议,它真的帮了我很多:DDo你是说[s.string代表链接中的s]
?
linklist = [el.string for el in soup.findAll('link')]
links = soup.find_all('link')
link_strings = [s.string for s in links.string]
from bs4 import BeautifulSoup
xml = """<html><link>
www.link1.com
</link>
<link>
www.link2.com
</link></html>"""
soup = BeautifulSoup(xml,features="xml")
linklist = soup.find_all('link')
linklist = map(lambda x: x.string, linklist)