Python:修改<a>个元素的内容
Python: Modifying contents of <a> elements
我有一个正在使用 Beautiful Soup 抓取和解析的网页。在这个网页上有几个对其他来源的引用。他们看起来很像这样:`
Shakespeare wrote good, such as in <a href="link_to_source">Romeo and Juliet, IV:ii</a>.
我想要的是:
Shakespeare wrote good, such as in (Romeo and Juliet, IV:ii).
切记,这是一个很长的网页,有很多行,我需要将所有行组合起来,所以只修改一个 "a" 标签对我来说不起作用,我需要修改所有页面上 "a" 个标签。
这是我已经尝试过的方法:
piska_ps = url_to_soup('https://he.wikisource.org'+a['href']).find_all('p')
p_box = []
for p in piska_ps:
if p.a:
for a_link in p.a:
a_link.string = "("+a_link.string+")"
您可以使用 replace_with
来替换标签:
piska_ps = url_to_soup('https://he.wikisource.org'+a['href']).find_all('p')
for p in piska_ps:
for a in p.find_all('a'):
a.replace_with("(" + a.string + ")")
首先,p.a
等于p.find('a')
,其中return一个标签,不能遍历。
piska_ps = url_to_soup('https://he.wikisource.org'+a['href']).find_all('p')
p_box = []
for p in piska_ps:
if p.a:
p.a.string = "("+p.a.string+")"
我有一个正在使用 Beautiful Soup 抓取和解析的网页。在这个网页上有几个对其他来源的引用。他们看起来很像这样:`
Shakespeare wrote good, such as in <a href="link_to_source">Romeo and Juliet, IV:ii</a>.
我想要的是:
Shakespeare wrote good, such as in (Romeo and Juliet, IV:ii).
切记,这是一个很长的网页,有很多行,我需要将所有行组合起来,所以只修改一个 "a" 标签对我来说不起作用,我需要修改所有页面上 "a" 个标签。
这是我已经尝试过的方法:
piska_ps = url_to_soup('https://he.wikisource.org'+a['href']).find_all('p')
p_box = []
for p in piska_ps:
if p.a:
for a_link in p.a:
a_link.string = "("+a_link.string+")"
您可以使用 replace_with
来替换标签:
piska_ps = url_to_soup('https://he.wikisource.org'+a['href']).find_all('p')
for p in piska_ps:
for a in p.find_all('a'):
a.replace_with("(" + a.string + ")")
首先,p.a
等于p.find('a')
,其中return一个标签,不能遍历。
piska_ps = url_to_soup('https://he.wikisource.org'+a['href']).find_all('p')
p_box = []
for p in piska_ps:
if p.a:
p.a.string = "("+p.a.string+")"