Sim*_*ker 21 javascript twitter
几年前我写了一个小JavaScript,它抓住了一个用户(我的)最近的推文,然后将其解析出来,包括链接,日期等.
它使用这个json调用来检索推文,它不再有效.
http://twitter.com/statuses/user_timeline/radfan.json
Run Code Online (Sandbox Code Playgroud)
它现在返回错误:
{"errors":[{"message":"Sorry, that page does not exist","code":34}]}
Run Code Online (Sandbox Code Playgroud)
我已经看过使用api版本(下面的代码),但这需要身份验证,我宁愿避免这样做,因为它只是在我的网站上显示我的最新推文,无论如何在我的个人资料页面上显示:
http://api.twitter.com/1/statuses/radfan.json
Run Code Online (Sandbox Code Playgroud)
我没有跟上Twitter的API变化,因为我不再真正使用它,是否有解决这个问题的方法还是不再可能?
小智 14
以前,Search API是唯一不需要某种形式的OAuth的 Twitter API .现在它确实需要身份验证.
Twitter的Search API是从第三方收购中获得的 - 他们很少支持它,并且看起来甚至不存在甚至存在.最重要的是,有效负载存在许多限制,包括但不限于您获得的JSON或XML文件中的一组密钥:值对严重减少.
当我听到这个时,我感到震惊.我花了很长时间搞清楚如何使用最少量的代码来执行简单的GET请求(比如显示时间轴).
我决定采用OAuth路线来确保相关的有效载荷.您需要使用服务器端语言来执行此操作.JavaScript对最终用户是可见的,因此在.js文件中包含必要的密钥和秘密是个坏主意.
我不想用大库,所以对我来说,答案是PHP和帮助@Rivers'答案在这里.@ lackovic10下面的答案描述了如何在您的身份验证中包含查询.
我希望这可以帮助别人节省时间思考如何去使用Twitter的API与新的OAuth要求.
您无需登录即可通过高级搜索访问和抓取Twitter:
GET请求
执行基本搜索请求时,您将获得:
https://twitter.com/search?q=Babylon%205&src=typd
Run Code Online (Sandbox Code Playgroud)
默认情况下,Twitter返回前25个结果,但如果你点击,
all你可以获得实时推文:
https://twitter.com/search?f=realtime&q=Babylon%205&src=typd
Run Code Online (Sandbox Code Playgroud)
JSON内容
更多推文通过AJAX加载到页面上:
https://twitter.com/i/search/timeline?f=realtime&q=Babylon%205&src=typd&include_available_features=1&include_entities=1&last_note_ts=85&max_position=TWEET-553069642609344512-553159310448918528-BD1UO2FFu9QAAAAAAAAETAAAAAcAAAASAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Run Code Online (Sandbox Code Playgroud)
使用max_position请求下一鸣叫
以下json数组返回刮取内容所需的全部内容:
https://twitter.com/i/search/timeline?f=realtime&q=Babylon%205&src=typd
Run Code Online (Sandbox Code Playgroud)
DOM元素
这里有一个DOM elements你可以用来提取的列表
作者推特处理
div.original-tweet[data-tweet-id]
Run Code Online (Sandbox Code Playgroud)
作者的姓名
div.original-tweet[data-name]
Run Code Online (Sandbox Code Playgroud)
作者的用户ID
div.original-tweet[data-user-id]
Run Code Online (Sandbox Code Playgroud)
帖子的时间戳
span._timestamp[data-time]
Run Code Online (Sandbox Code Playgroud)
帖子的时间戳以毫秒为单位
span._timestamp[data-time-ms]
Run Code Online (Sandbox Code Playgroud)
推文的文字
p.tweet-text
Run Code Online (Sandbox Code Playgroud)
转推数量
span.ProfileTweet-action–retweet > span.ProfileTweet-actionCount[data-tweet-stat-count]
Run Code Online (Sandbox Code Playgroud)
Favo的数量
span.ProfileTweet-action–favorite > span.ProfileTweet-actionCount[data-tweet-stat-count]
Run Code Online (Sandbox Code Playgroud)
资源
| 归档时间: |
|
| 查看次数: |
77165 次 |
| 最近记录: |