Python中文
首页
教程
问答
标签
搜索
登录
注册
如何从tweet中提取或获取所有缩短的url?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我想从tweets中提取简短的url。这些URL遵循标准格式:<a href="http://t.co" rel="nofollow noreferrer">http://t.co</a>(<a href="https://support.twitter.com/articles/109623" rel="nofollow noreferrer">details here</a>)</p> <p>为此,我使用了以下regex表达式,当我用tweet文本测试它时,它工作得很好,只需将文本存储为字符串。在</p> <p><strong>注意:</strong> 我使用的是<a href="https://shortnedurl/string" rel="nofollow noreferrer">https://shortnedurl/string</a>而不是真正的缩短的URL,因为StackOverflow不允许在这里发布这样的URL。在</p> <p>样本代码:</p> <pre><code>import re tweet = "Grim discovery in the USS McCain collision probe https://shortnedurl.com @MattRiversCNN reports #TheLead" urls = re.findall('http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', tweet) for url in urls: print "printing urls", url </code></pre> <p>此代码的输出:</p> ^{pr2}$ <p>然而,当我使用twitter的API从twitter读取tweet并在其上运行相同的regex时,我得到了以下不受欢迎的输出。在</p> <pre><code>printing urls https://https://shortnedurl/string printing urls https://https://shortnedurl/string</a></span> printing urls https://twitter.com/MattRiversCNN printing urls https://twitter.com/search?q=%23TheLead </code></pre> <p>它看起来就像是一个标签一样。在</p> <p>我该如何处理这个问题?我只想读取这些<a href="http://t.co" rel="nofollow noreferrer">http://t.co</a>url。在</p> <p><strong>更新1:</strong> 我试过https?://t.co/\S*,但是,我仍然收到以下嘈杂的url:</p> <pre><code>printing urls https://https://shortnedurl/string printing urls https://https://shortnedurl/string>https://https://shortnedurl/string</a></span> </code></pre> <p>我不知道为什么同一个URL又被找到了<code></a><span></code>。在</p> <p>对于https?://t.co/\S+,我得到的URL无效,因为它将上述两个URL合并为一个:</p> <pre><code>printing urls https://https://shortnedurl/string>https://https://shortnedurl/string</a></span> </code></pre> <p><strong>更新2:</strong> <strong>tweet文本看起来与我预期的有所不同:</strong></p> <pre><code> Grim discovery in the USS McCain collision probe <span class="link"><a href="https://shortenedurl">https://shortenedurl</a></span> <span class="username"><a href="https://twitter.com/MattRiversCNN">@MattRiversCNN</a></span> reports <span class="tag"><a href="https://twitter.com/search? q=%23TheLead">#TheLead</a></span> </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>你可以使用正则表达式</p> <pre><code>https?://t\.co/\S+ </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
7 回答
如何添加表示整数的擦边字符串?
9 回答
如何添加要在Bokeh中使用的新font.ttf文件?
6 回答
如何添加要显示的矩阵XY轴编号和XY轴
7 回答
如何添加计数?
1 回答
如何添加计数器函数?
10 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
4 回答
如何添加计数器来跟踪while循环中的月份和年份?
9 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
1 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
6 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
6 回答
如何添加评论拉梅尔亚姆
7 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
7 回答
如何添加谷歌地点自动完成到Flask?
1 回答
如何添加超时、python discord bot
2 回答
如何添加超过1dp的检查
2 回答
如何添加距离方法
2 回答
如何添加跟随游戏的敌人精灵
2 回答
如何添加路径以便python可以找到程序?
6 回答
如何添加身份验证/安全性以使用happybase访问HBase?
6 回答