如何从Twitter抓取数据

您对使用从Twitter提取的数据进行社会研究感兴趣吗?然后,根据所需数据的大小和时间范围,您可能需要一个Twitter Scraper。现在就来发现市场上最好的。

当提到大数据一词时,没有多少网站可以关联,但是可以肯定的是,Twitter每天可以在其平台上交换超过5亿条推文-其中很大一部分是文本,然后是图像,然后是视频。对于大多数研究人员而言,由文字构成的推文对他们的社会研究非常重要,可以用于情感分析,文字分类和某些预测性分析。但是,推特不仅仅是对Twitter数据感兴趣的企业和研究人员所感兴趣的全部–用户资料和关注者同样重要。

与大多数其他社交媒体平台不同,Twitter具有非常广泛,友好且免费的Public API,您可以使用它来访问其平台上的数据-它甚至提供了用于访问实时Twitter数据的Stream API。对于许多人来说,Twitter提供的API就是他们从平台提取感兴趣的数据所需要的。但是,这些API带有一些限制,例如在一个窗口时间段内可以发送的请求数量以及提取历史数据的距离。由于存在这些限制,一些研究人员陷入了困境,并且由于无法访问所需数据或无法及时访问API,API对他们变得毫无用处–这要归功于窗口期。

如果您是Twitter提供的API不足以满足您的数据提取需求的研究人员之一,那么您需要转向Twitter抓取,后者正在使用网络机器人自动执行从Twitter收集数据的过程。支持抓取Twitter的网络机器人被称为Twitter抓取工具。最好的Twitter抓取工具将进行讨论。但是在此之前,让我们看一下Twitter抓取。


Twitter搜寻-概述

许多人误将使用Twitter API作为Twitter数据抓取功能从Twitter提取数据。两者提取数据的方式完全不同。尽管Twitter API是检索数据Twitter的官方可接受方式,并且仅获取所需的数据,但Twitter抓取涉及获取Twitter页面的整个HTML,然后解析出所需的数据。Twitter不支持抓取,因此,您必须小心不要被抓捕,因为您冒着以诉讼的形式与他们的法律团队发生对抗的风险。

但是,即使在法庭上,有关Web爬网的普遍共识是,即使未征得您要爬网的站点的允许,对公开可用数据的爬网也是合法的。不幸的是,根据您对数据的处理方式,它可能会变得非法。对于Twitter,虽然它们不支持抓取,但似乎拥有最弱的反抓取系统之一来发现抓取。

但是,您仍然需要准备和计划,因为您仍然会遇到IP块和验证码形式的阻力。编码技能不是必须的,甚至可以使用视觉抓取工具。但是,有了编码技能,您可以节省金钱并创建定制的系统。


如何使用Python、请求和Beautifulsoup来获取Twitter

作为编码人员,您可以创建自己的Twitter抓取程序,并具有要包含的功能,并且可以将其集成到更大的系统中。Twitter抓取工具没有任何特定的语言要求,因为您可以使用任何选择的编程语言(前提是图灵完整)。但是,Python有一些出色的库可以节省您的时间并使开发简单。Python作为一种编程语言也很简单易学,它是Web爬虫开发中最流行的语言。

即使我说过Twitter对其网站上不使用刮板的行为并不严格,您仍然会遇到一定程度的抵制。以Twitter为例,Twitter仍会跟踪您的IP地址,并且在您超出要求的限制后将阻止您。但是,与其他需要住宅或移动代理访问其服务的网站不同,数据中心代理仍可在Twitter上运行。尽管它具有一些Ajax功能,可能使您感到困难,但它也具有未进行Ajaxified的旧版本,您可以从那里进行抓取。

能够抓取Twitter所需要做的只是检查要解析的内容的页面的HTML代码,并寻找其中包含数据的标签,并寻找如何获取其他内容在呈现第一页之后。这样,您可以使用“请求”从Twitter和Beautifulsoup下载网页来解析请求。

确保将机器人的User-Agent标头设置为流行浏览器的标头。另外,不要忘记配置代理。以下是使用Python,Requests和Beautifulsoup编写的示例Twitter抓取工具-从不需要JavaScript的Twitter旧移动网站抓取到的。它会在主题标签搜索的第一页上下载推文,并返回带有用户句柄和推文的JSON对象。

import requests
from bs4 import BeautifulSoup

class TwitterHashTagPosts:

    def __init__(self, hashtag):
        self.hashtag = hashtag
        self.tweets = []
        self.url = "https://mobile.twitter.com/hashtag/" + self.hashtag.strip()

    def scrape_tweets(self):
        content = requests.get(self.url)
        soup = BeautifulSoup(content.text, "html.parser")
        tweet_divs = soup.select("#main_content")[0].select(".tweet")
        for tweet in tweet_divs:
            handle = tweet.find("div", {"class": "username"}).text.replace("\n", " ").strip()
            post = tweet.find("div", {"class": "tweet-text"}).text.replace("\n", " ").strip()
            self.tweets.append({handle: post})
        return self.tweets

x = TwitterHashTagPosts("tiktokrating")
x.scrape_tweets()

阅读更多:

  • 如何使用Python和Selenium从Instagram提取数据
  • Facebook Scrapers 101:如何抓取Facebook

最好的Twitter抓取工具

研究人员需要知道如何编写其他代码以自动从网站抓取数据的日子已经一去不复返了。现在,即使没有编码技能,您仍然可以抓取-借助已制成的Web抓取器。本文的这一部分将讨论市场上顶级的Twitter抓取工具。


ScrapeStorm

  • 定价:每月49.99美元起
  • 免费试用:入门计划是免费的-有限制
  • 数据输出格式: TXT,CSV,Excel,JSON,MySQL,Google表格等。
  • 支持的平台:台式机

如果您正在寻找一种非常灵活且坚固的网络刮板,可用于在Twitter上刮削tweet和其他公共可用内容,那么ScrapeStorm是您可以使用的最佳选择之一–您知道为什么吗?

通过正确的设置,ScrapeStorm可以不受注意地进行抓取,并且无论您计划提取的数据量如何都不会被阻止–是的,ScrapeStorm可以处理大数据。ScrapeStorm是由经验丰富的团队开发的-确切地说是前Google抓取工具团队。ScrapeStorm比市场上的许多机器人都要先进,因为它利用了基于API的数据识别系统来进行自动数据识别。


Octoparse

  • 定价:每月75美元起
  • 免费试用:有限制的14天免费试用
  • 数据输出格式: CSV,Excel,JSON,MySQL,SQLServer
  • 支持平台: 云,桌面

Octoparse已被证明是市场上最好的Twitter抓取工具之一,尽管它不是专门的Twitter抓取工具。这是因为它已经为许多站点提供了模板,并支持Twitter,Twitter是其中之一。Octoparse可以抓取您需要的任何数据,这些数据可以在Twitter网站上公开获得。有了这个机器人,您不必担心被覆盖的块。

它也非常快,并且可以多种格式向您提供抓取的数据。Octoparse既可以用作桌面应用程序,也可以用作基于云的平台。它支持抓取任务计划,并具有易于使用的点击界面。


批准Twitter个人资料抓取工具

  • 定价:每月起价为49美元,适用于100个Actor计算单元
  • 免费试用:入门计划附带10个Actor计算单元
  • 数据输出格式: JSON
  • 支持的操作系统:基于云–通过API访问

Apify Twitter Profile Scraper的工作非常专业,用于从特定帐户中抓取数据。可以抓取的信息包括用户个人资料详细信息,推文和转发,以及回复,对话和收藏。如果您对抓取与特定主题标签关联的推文感兴趣,可以使用Apify Hashtag Scraper,因为它是用于抓取与指定主题标签关联的推文。Apify上所有演员的使用​​都取决于您的订阅,因此,使用多个演员不会影响您的消费金额。


Webscraper.io扩展

  • 定价:浏览器扩展是免费的
  • 免费试用:浏览器扩展是免费的
  • 数据输出格式: CSV
  • 支持的平台: Chrome扩展程序

Webscraper.io Chrome浏览器扩展程序是市场上最流行的Web抓取扩展程序。它是为现代Web设计的,可以用于刮擦Twitter。使用Webscraper.io,您可以抓取推文及其相关注释,提取用户个人资料信息,包括他关注的帐户和关注他的帐户。如果Twitter上有公开可用的任何数据,则Webscraper.io可以轻松为您下载数据。它是一个免费工具,可在浏览器环境中使用。如果您不想花钱,可以使用Webscraper.io。


Helium Scraper

  • 定价:一张用户许可证起价为99美元
  • 免费试用:功能齐全的10天免费试用
  • 数据输出格式: CSV,Excel,XML,JSON,SQLite
  • 支持平台:台式机

搜刮网站不一定很困难,Helium Scraper证明了这一点。Helium Scraper带有直观的点击界面,您将使用它来训练刮板有关应刮除的数据。Helium Scraper支持从Twitter抓取公开可用的数据,例如推文,其相关详细信息和答复以及用户个人资料信息。

Helium Scraper抓取速度非常快,可以帮助您节省时间。事实证明,此网络抓取工具是最好的Twitter抓取工具之一。它可以处理大数据,安排抓取任务,甚至检测相似的元素。


结论

如果Twitter是您研究所需的数据源,那么您将永远不会用尽各种网络抓取工具来抓取所需的数据。作为编码人员,您可以自己构建Twitter抓取工具。如果您没有编程技能或不想承受压力,请选择上面讨论的Twitter刮板之一-它们已经过测试,并且证明可以工作。


相关:

  • 如何抓取YouTube视频
  • 最好的Twitter Bot在自动驾驶仪上增加您的帐户
  • 为Twitter自动化选择最佳的Twitter代理