Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用beautifulsoup获取原始文本?_Python_Xml_Parsing_Hyperlink_Beautifulsoup - Fatal编程技术网

Python 如何使用beautifulsoup获取原始文本?

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')] 试试

我有这样一个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')]
试试这个:

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)