Python 2.7 删除不必要的值-使用beautifulsoup进行刮除
像这样,HTML页面中有许多Python 2.7 删除不必要的值-使用beautifulsoup进行刮除,python-2.7,beautifulsoup,screen-scraping,Python 2.7,Beautifulsoup,Screen Scraping,像这样,HTML页面中有许多onclick属性 从上面的onclick属性中,使用此代码 onclick="try{appendPropertyPosition(this,'B10016735','9176967671, 9176964646, 8939721171','44-22583703','Dealer','manesh');jsb9onUnloadTracking();jsevt.stopBubble(event);}catch(e){};" 我正在刮取如下值: join(re.fi
onclick
属性
从上面的onclick
属性中,使用此代码
onclick="try{appendPropertyPosition(this,'B10016735','9176967671, 9176964646, 8939721171','44-22583703','Dealer','manesh');jsb9onUnloadTracking();jsevt.stopBubble(event);}catch(e){};"
我正在刮取如下值:
join(re.findall("'([a-zA-Z0-9,\s]*)'", (a['onclick'] if a else '')))
但是我只想有一个电话号码,去掉剩下的三个电话号码,应该如下所示
B10016735,9176967671, 9176964646, 8939721171,44-22583703,Dealer,manesh
更新
问题是,以下模式不会对HTML页面中的所有行重复
. 很少一行有三个phoneno,很少一行有两个。有时零个电话号码。因此,电话号码的数量各不相同
B100167359176967671,9176964646,8939721171,44-22583703,经销商,曼内什给定字符串
B10016735,9176967671,Dealer,manesh
您可以使用以下工具将文本
拆分为多个部分:
In [101]: text = 'B10016735,9176967671, 9176964646, 8939721171,44-22583703,Dealer,manesh'
选择前两项,最后两项包括:
In [102]: items = [item.strip() for item in text.split(',')]
并使用以下命令形成所需字符串:
In [103]: items[:2]+items[-2:]
Out[103]: ['B10016735', '9176967671', 'Dealer', 'manesh']
更新了问题。否。它去掉了所有的电话号码。并给出
B10016735,,经销商,manesh
。你介意看看我的全部输出是什么吗?@Venky请将这些测试用例和预期输出发布在问题正文中。让我们看看
In [104]: ','.join(items[:2]+items[-2:])
Out[104]: 'B10016735,9176967671,Dealer,manesh'
>>> import re
>>> strs = 'B10016735,9176967671, 9176964646, 8939721171,44-22583703,Dealer,manesh'
>>> re.sub(r'([^,]+,[^,]+,)(.*?)([A-Za-z].*)', r'\1\3', strs)
'B10016735,9176967671,Dealer,manesh'