创建一个twitter机器人 - 需要帮助提取一个字符串

时间:2013-03-01 01:22:58

标签: python twitter

我对很新,我不知道这样做的最好方法。我四处寻找,我已经解决了我的大部分问题,但没有解决这个问题。

我有一个充满随机诗的文本文件。为了测试,它是lorem ipsum。我想要做的是从中提取一个随机的140个字符的部分。但是,我只希望它包括完整的单词,所以切断开始并结束空间。

例如

  

Lorem ipsum dolor坐下来,精神上的精神。 Praesent convallis nibh vitae ante dictum gravida。 Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus scelerisque accumsan ante,quis porttitor libero tincidunt vel。 Lorem ipsum dolor坐下来,精致的adipistur elit。 Praesent ullamcorper ornare metus quis pulvinar。 Nullam在magna mauris。 Aenean nec arcu odio。

使用机器人,我可能会提取:

  

tibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus scelerisque accumsan ante,quis porttitor liber

然后将其截断为:

  

ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus scelerisque accumsan ante,quis porttitor

基本上我正在尝试创建一个像机器人一样的horse_ebooks,它从文件中随机取出随机字符串并将它们发布到twitter上。我已经整理了所有的帖子,我只需要提取字符串的方法。

2 个答案:

答案 0 :(得分:1)

 from random import random:
  

text =“”“Lorem ipsum dolor sit amet,consectetur adipiscing elit。Praesent convallis nibh vitae ante dictum gravida。Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus scelerisque accumsan ante,quis porttitor libero tincidunt vel Lorem ipsum dolor sit amet,consectetur adipiscing elit.Praesent ullamcorper ornare metus quis pulvinar.Nullam at magna mauris.Aenean nec arcu odio。“”“

poem_init = int(random()*(len(text)-140))
poem = text[poem_init:poem_init+140].split(" ")

if text.find(" "+ poem[0]) < 0:
    del poem[0]

if text.find(poem[-1] + " ") < 0 or text.find(poem[-1]) != len(text):
    del poem[-1]

poem = " ".join(poem)
print poem

答案 1 :(得分:0)

你可以提取一首诗的前140个字符。

final_poem = poem_string[:140]

然后为了简单起见,您可以找到最后一个空格的位置,并从该空间开始切断所有内容。

for i, char in enumerate(reversed(final_poem)):
    if char == ' ':
        chop = i + 1 # Remember indices start with 0
final_poem = final_poem[:-chop]

可能不是最有效的代码,但它可以完成工作。