gpt4 book ai didi

python - 使用 Python 拆分 Twitter RSS 字符串

转载 作者:太空宇宙 更新时间:2023-11-04 07:26:14 29 4
gpt4 key购买 nike

我正在尝试使用 Python 解析 Twitter RSS 提要并将信息放入 sqlite 数据库中。这是一个例子:

MiamiPete: today's "Last Call" is now up http://bit.ly/MGDzu #stocks #stockmarket #finance #money

我想做的是为主要内容创建一栏(Miami Pete…now up),为 URL 创建一栏(http://bit.ly/MGDzu),以及四个单独的主题标签列(股票、股票市场、金融、货币)。我一直在研究如何做到这一点。

如有任何建议,我们将不胜感激!

附言下面是我一直在玩弄的一些代码——你可以看到我最初尝试创建一个名为“tiny_url”的变量并将其拆分,它似乎确实这样做了,但这种微弱的尝试并没有解决所指出的问题多于。 :)

def store_feed_items(id, items):
""" Takes a feed_id and a list of items and stored them in the DB """
for entry in items:
c.execute('SELECT entry_id from RSSEntries WHERE url=?', (entry.link,))
tinyurl = entry.summary ### I added this in
print tinyurl.split('http') ### I added this in
if len(c.fetchall()) == 0:
c.execute('INSERT INTO RSSEntries (id, url, title, content, tinyurl, date, tiny) VALUES (?,?,?,?,?,?,?)', (id, entry.link, entry.title, entry.summary, tinyurl, strftime("%Y-%m-%d %H:%M:%S",entry.updated_parsed), tiny ))

最佳答案

看来您的数据驱动设计存在相当大的缺陷。除非您的所有条目都有文本部分、一个 url 和最多 4 个标签,否则它不会起作用。

您还需要将保存到数据库与解析分开。可以使用正则表达式(甚至字符串方法)轻松完成解析:

>>> s = your_string
>>> s.split()
['MiamiPete:', "today's", '"Last', 'Call"', 'is', 'now', 'up', 'http://bit.ly/MGDzu', '#stocks', '#stockmarket', '#finance', '#money']
>>> url = [i for i in s.split() if i.startswith('http://')]
>>> url
['http://bit.ly/MGDzu']
>>> tags = [i for i in s.split() if i.startswith('#')]
>>> tags
['#stocks', '#stockmarket', '#finance', '#money']
>>> ' '.join(i for i in s.split() if i not in url+tags)
'MiamiPete: today\'s "Last Call" is now up'

不过,单表数据库设计可能不得不放弃。

关于python - 使用 Python 拆分 Twitter RSS 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1354415/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com