我正在瀏覽我們的網站分析,並加載了一些t.co網址,這些網址是我們正在進行的促銷活動的推薦人。我試圖找出是否有辦法通過Twitter API或其他方式將它們轉回原始推文。我似乎無法找到一個好辦法做到這一點,但是,有嗎?如何將t.co網址轉換爲原始Tweet?
回答
這是不可能與Twitter提供的公共API。
如果我理解正確的話,你想找到一個鳴叫原來嵌有特定t.co鏈接。即t.co遵循時解決您的網站,而不是Twitter的鳴叫。
當t.co轉發指向tweet時,它會轉到該tweet的網頁,該頁面的HTML將包含規範URL。
獲取此信息的難看方式是使用wget或curl來抓取HTML目標,該目標將包含您的初始推文的URL。
更好的方法是使用Python模塊Requests(你需要先安裝這個模塊)。下面是一個簡單的命令行腳本,將做到這一點:
#!/usr/bin/env python
import requests
shorturl = raw_input("Enter the shortened URL in its entirety: ")
r = requests.get(shorturl)
print("""
The shortened URL forwards to:
%s
""" % r.url)
該代碼將在任何這些URL縮短服務,而不僅僅是Twitter的t.co網站的工作。
我使用Python 2.7進行了測試,但有可能上面的代碼可以與Python 3.x一起使用。無論哪種方式,要求是你的朋友,詳見文件:
http://docs.python-requests.org/en/latest/index.html
重定向和歷史部分介紹了這個例子。
我不知道如何通過Twitter API執行此操作,並且如果所有網址縮短都是自動執行的,則可能無法執行此操作。仍然基於API的解決方案僅適用於t.co地址,而上述代碼可用於任何其他縮短的URL或重定向到其他位置的任何URL(例如HTTP 301或302響應代碼)。
編輯(比從未更好一點):使用上述找到t.co forward實際指向的位置後,將會有三種或四種可能的結果。最常見的是,這是OP認爲他們都是什麼,縮短了網址粘貼到推文,公平地說,這是他們大多數。
其他可能性是它回到推特本身,這通常只會出現一些相當長的推文(不知道頻率增加多少,字符限制也會增加)。以及轉發到獨立於推文作者的狀態URL的狀態的URL,這對於嵌入式媒體(圖像和視頻)通常是這種情況;並轉發到推文或轉推的推文網址。
鑑於OP的原始方案,這些都不內部Twitter的用法都不應當看到,只有「正常」的轉發關注這裏。現在在twitter.com上搜索t.co地址,我們什麼也得不到,無論使用什麼樣的組合。
但是,搜索目標地址,然而,像這個答案開始時腳本顯示的腳本是另一回事。這將產生可公開訪問併發布該鏈接的每條推文的結果。然而,存在一些缺點,包括:
- 搜索結果將包括使用其他轉發服務的推文。
- 無法判斷鏈接到該URL的所有推文是否生成了相同的t.co地址。
- 如果沒有,沒有辦法,看看哪個t.co前鋒是由鳴叫利用。
儘管如此,與完整的Web服務器引用者日誌一起,可能會進一步縮小範圍。假設引薦來源網址報告推文的網址,而不僅僅是twitter.com。然而,這更可能是通過在點擊鏈接的人這樣做(即是他們只看到鳴叫在流或過他們擴大它足以顯示其完整URL)的方式來確定。
我懷疑推薦人日誌的有效性將會在智能手機和平板電腦上零星出現,並且可能會減少,因爲使用的應用程序不太可能以這種方式擴展推文,以便將該數據提供給第三方網站。
#!/usr/bin/env python3
import requests
import urllib.parse
shorturl = input("Enter the shortened URL in its entirety: ")
r0 = requests.get(shorturl, verify=True)
t0 = "https://twitter.com/search?f=tweets&q="
t1 = urllib.parse.quote_plus(r0.url)
r1 = requests.get("{0}{1}".format(t0, t1), verify=True)
# the results will be in r1.content
# there may be some benefit from cutting the http:// or
# https:// from r0.url before creating the quoted string in t1.
然而,這是一樣好,沒有支付Twitter的增強數據訪問。
直接在Google Analytics中直接提供Social networks
然後Trackbacks
菜單的引用您的網頁的推文列表。
- 1. twitter在tweet包含點時阻止t.co網址?
- 2. 如何在tweet中使用自定義bit.ly網址,而不是t.co?
- 3. 如何將此網址轉換爲%20?
- 4. 如何將POST轉換爲網址?
- 5. 將網址轉換爲NSData
- 6. 將網址轉換爲bit.ly
- 7. 如何將YouTube網址轉換爲RTSP網址?
- 8. 如何將網址轉換爲其他網址?
- 9. 如何將網址轉換爲htaccess中友好的網址
- 10. 如何將Http網址轉換爲rtsp網址
- 11. LLDB(Swift):將原始地址轉換爲可用類型
- 12. 將原始SQL轉換爲named_scope
- 13. 將OpenGL原始圖轉換爲OpenGLES
- 14. 將原始音頻轉換爲mp3/ogg
- 15. 將原始PCM流轉換爲wavs(cli)
- 16. 將原始圖像轉換爲HDF5
- 17. 將Rails轉換爲原始SQL
- 18. 將原始類型轉換爲int
- 19. 將原始指針轉換爲clone_ptr
- 20. 將封裝類轉換爲原始類
- 21. php將Unicode NCR轉換爲原始的
- 22. 將基本原始SQL轉換爲Django
- 23. 將thrust :: iterators轉換爲原始指針
- 24. 將原始SQL轉換爲SQLAlchemy查詢
- 25. 用字符串替換tweet網址
- 26. Twitter API - Tweet文字縮短與t.co
- 27. 如何將網址轉換成圖像?
- 28. 長轉換爲原始JDBC
- 29. 如何將網頁的所有鏈接轉換爲短網址?
- 30. 將用戶輸入轉換爲網址
退房http://www.find-t.co/ –
這find-t.co站點不再解析(也不是記錄,因爲它得到了關機)。然而,沒關係,因爲我更新了自己的答案,儘可能靠近解決方案,因爲您無需付費Twitter即可獲得更多的數據分析訪問權限。 – Ben