python - 在Python中切割字符串变量的一部分(网络抓取)

标签 python

我正在尝试抓取一个网站,因此我设法使用此模板提取了我想要的所有文本:

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/

相关文章:

python - 使用移位向量进行 GDAL 变形

python - 协程 yield 与任务 yield

python - 如何从树中删除 NavigableString?

python - 在我的网络应用程序上使用 ubuntu 字体

python - 为什么 Tkinter 中的空白图像是我指定的 1/4 大小?

python - 类型错误 - 无法将 'User' 对象隐式转换为 str

python - Python 中的运行平均值

python - 通过调换两列并重复另一列来 reshape pandas DataFrame

python - 带有 DatetimeIndex 的 Pandas set_Value [Python]

python - Sublime Text 3 API 打开后重新加载文件