如何从Python中删除字符串?

时间:2017-10-05 08:37:40

标签: python python-3.x pandas beautifulsoup

我正在使用beautifulsoup追加数组中的所有链接" get_link"。

get_link = []
for a in soup.find_all('a', href=True):
    if a.get_text(strip=True):
     get_link .append(a['href'])

get_link的输出:

['index.html?country=2',
 'index.html?country=25',
 'index.html?country=1',
 'index.html?country=6',
 'index.html?country=2']

如何获得以下输出?

[country=2',
 country=25',
 country=1',
 country=6',
 country=2']

2 个答案:

答案 0 :(得分:1)

使用非空文本值和a属性获取所有href标记(链接)的优化方法:

links = [l.get('href').replace('index.html?','') 
         for l in soup.find_all('a', href=True, string=True) if l.text.strip()]
print(links)

答案 1 :(得分:0)

有很多方法可以只获得" country ="有些已经在bs4中,但如果你想要,你可以使用正则表达式:

import re
ui=['index.html?country=2',
 'index.html?country=25',
 'index.html?country=1',
 'index.html?country=6',
 'index.html?country=2']





pattern=r'(country=[0-9]{0,99})'



print("\n".join([re.search(pattern,i).group() for i in ui]))

结果:

country=2
country=25
country=1
country=6
country=2