我正在尝试提取包含链接作为文本一部分的网络文章的文本。这方面的一个例子是:
<p>Here is some text with <a href="https://www.example.com"> this part as a link</a>
which we will look at.</p>
我尝试过使用
table.findAll('p', text = True)
关于数据,但是这个命令忽略了包含url的所有'p'标签(也就是说,它不会在第一个块中获取示例)。我的问题是,如何从“p”标签中提取文本,同时还包括嵌入的链接,如何删除链接的网址,只保留“此部分作为链接”突出显示的文本?非常感谢任何帮助。
答案 0 :(得分:1)
难以理解:
>>> import bs4
>>> HTML = '''\
... <p>Here is some text with <a href="https://www.example.com"> this part as a link</a>
... which we will look at.</p>'''
>>> soup = bs4.BeautifulSoup(HTML, 'lxml')
>>> [p.text for p in soup.findAll('p')]
['Here is some text with this part as a link\nwhich we will look at.']
当然,您很可能想要更换新行和冗余空白。