为了概述问题,我有一个 Twitter 用户“screen_names”列表,我想验证他们是否是被暂停的用户。我不想使用 twitter 搜索 API 来避免速率限制问题(列表很大)。因此,我正在尝试使用一组计算机来标记我的数据集(无论我的数据库中的帐户是否被暂停)。
如果某个帐户被 Twitter 暂停,并且您尝试通过http://www.twitter/screen_name
重定向到的链接访问它们https://twitter.com/account/suspended
我尝试使用 python 2.7 和urlib
使用该geturl()
方法来捕获这种行为。它有效但不可靠(我在同一个链接上没有得到相同的结果)。我在同一个帐户上对其进行了测试,但有时它会返回,有时它https://twitter.com/account/suspended
会返回http://www.twitter/screen_name
请求也会出现同样的问题。
我的代码:
import requests
from lxml import html
screen_name = 'IaMaGuyGetIt'
account_url = "https://twitter.com/"+screen_name
url = requests.get(account_url)
print url.url
req = urllib.urlopen(url.url).read()
page = html.fromstring(req)
for heading in page.xpath("//h1"):
if heading.text == 'Account suspended':
print True