我正在尝试抓取一个网站,因此我设法使用此模板提取了我想要的所有文本:
nameList = bsObj.findAll("strong")
for text in nameList:
string = text.get_text()
if "Title" in string:
print(text.get_text())
我以这种方式获取文本:
标题 1:需要的文本
标题 2:需要的文本
标题 3:需要的文本
标题 4:需要的文本
标题 5:需要的文本
标题 6:需要的文本
标题 7:textthatineed ....
有什么方法可以使用 beautifulsoup 或任何其他方式在 python 中剪切字符串,并仅获得“textthatineed”而不“title(number):”。
最佳答案
假设我们有
s = 'Title 1: textthatineed'
标题在冒号之后开始两个字符,因此我们找到冒号的索引,向下移动两个字符,并从该索引到末尾获取子字符串:
index = s.find(':') + 2
title = s[index:]
请注意,find()
仅返回第一次出现的索引,因此包含冒号的标题不受影响。
关于python - 在Python中切割字符串变量的一部分(网络抓取),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41411996/