构建脚本以访问公共Twitter数据,无需身份验证

时间:2018-05-22 04:07:05

标签: python twitter

我想用Python编写一个脚本来阅读公共Twitter个人资料。具体来说,我想查看包含图片的推文,并下载这些图片(最终,我想将其添加为cron作业)。我正在研究 tweepy 作为Twitter API包装器。但是,根据我的理解,Twitter API甚至要求对访问公共数据的操作进行身份验证 - 这是正确的吗?

由于我所需要的只是访问单个公共用户时间线,经历严格的身份验证(然后将这些凭据放在我的计算机上,我不确定表单的安全性)似乎有点矫枉过正。

是否有其他解决方案(特别是基于Python的)用于阅读公共Twitter数据?

2 个答案:

答案 0 :(得分:3)

是的,Twitter确实需要身份验证来访问用户的任何公共/私人数据。您需要在Twitter上创建一个应用程序来访问数据。该应用程序需要检查特定客户端的请求数量等,以防止任何滥用。此身份验证是其他API提供程序遵循的一般过程,这是唯一推荐的方法。

创建Twitter应用程序的另一个好处是,其他用户可以为您的应用授予权限,然后您也可以访问其私人数据,如DM等。

另一种方法是网络抓取,但我认为这是不道德的,因为Twitter已经提供了它的API。此外,每次Twitter开发人员进行一些前端更改时,您都需要更新您的抓取脚本。

答案 1 :(得分:2)

您始终可以创建自己的数据抓取工具。 BeautifulSoup是一个受欢迎的。例如:

from urllib.request import urlopen

html = urlopen('https://twitter.com/Microsoft')
soup = BeautifulSoup(html.read(),'html.parser');
print(soup)

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.1//EN" "http://www.openmobilealliance.org/tech/DTD/xhtml-mobile11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="True" name="HandheldFriendly"/> ......................