簡體   English   中英

如何從湯Python中刪除錨標簽

[英]How to remove anchor tags from soup Python

我正在使用Beautiful Soup讀取HTML數據。 閱讀后,我想刪除一些錨標簽。 這是我的代碼:

import urllib
from  bs4 import BeautifulSoup 

url=raw_input("enter url:")
html=urllib.urlopen(url).read()
soup=BeautifulSoup(html)

tags=soup('a')

標簽的輸出形式為:

 [<a href="https://www.naukri.com/psu-government-jobs" target="_blank"          
  title="Govt. Jobs">Govt. Jobs</a>,
 <a href="https://www.naukri.com/international-jobs" target="_blank"      
  title="International Jobs">International Jobs</a>,
 <a href="https://www.naukri.com/top-company-jobs" target="_blank" 
 title="Jobs by Company">Jobs by Company</a>,
 <a href="https://www.naukri.com/jobs-by-category" target="_blank" 
  title="Jobs by Category">Jobs by Category</a>,
 <a href="https://www.naukri.com/top-jobs-by-designations" target="_blank"
 title="Jobs by Designation">Jobs by Designation</a>,
  <a target="_blank">Information</a>,
 <a href="https://www.naukri.com/jobs-by-location" target="_blank"         
  title="Jobs by Location">Jobs by Location</a>,
 <a href="https://www.naukri.com/top-skill-jobs" target="_blank" 
 title="Jobs by Skill">Jobs by Skill</a>]

我想刪除所有在標記之后出現的錨標記

" <a target="_blank">Information</a>"

我該怎么做?

假設標簽列表中的每個元素都是str類型,則可以執行以下操作:

將每個元素附加到新列表中,當您在某個元素中具有請求的字符串時,將其插入並中斷循環。

new_li = []
for tag in tags:
  if "Information</a>" in tag:
    new_li.append(tag)
    break
  else:
    new_li.append(tag)

print (new_li)

您不必創建新列表,可以通過執行以下操作來修改同一數組:

for index in range(len(tags)):
  if "Information</a>" in tags[index]:
    index += 1
    break

tags = tags [:index]
print (tags)

迭代列表中的每個元素,在遇到請求的字符串時中斷循環,然后使用限於相關索引的相同列表覆蓋列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM