【问题标题】:Crawl tweets using python (date range)使用 python 抓取推文(日期范围)
【发布时间】:2014-04-11 04:40:21
【问题描述】:

我正在尝试为我的论文抓取推文。我正在使用 Pattern (http://www.clips.ua.ac.be/pages/pattern-web) 进行爬网(以及用于情绪分析),这需要运行 Python (2.7) 程序。

到目前为止,我已经能够提出您可以在下面找到的程序。它有效,但仅用于收集 X 数量的最新推文。

我的问题是:您能帮我实现,以便我可以抓取特定用户名的特定日期范围(例如:2014 年 1 月 1 日 - 2014 年 3 月 31 日)之间的推文吗?

(或者如果不可能,增加此时抓取的推文数量(对不同的用户名使用相同的程序(每个用户都有 1000 条推文),我得到的结果在 40 到 400 之间)。

非常感谢您!

(PS:如果以上都不可能,我很乐意听取替代方案来收集必要的推文。我应该补充一点,我没有很强的编程背景。)

import os, sys; sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", ".."))
import time
from pattern.web import Twitter, hashtags
from pattern.db  import Datasheet, pprint, pd
from pattern.en  import sentiment

try: 
    table = Datasheet.load(pd("test.csv"))
    index = set(table.columns[0])
except:
    table = Datasheet()
    index = set()

engine = Twitter(language="en")

prev = None
for i in range(1000):
    print i
    for tweet in engine.search("from:username", start=prev, cached=False):
            if len(table) == 0 or tweet.id not in index:
            table.append([tweet.id, tweet.date, sentiment(tweet.text.encode("iso-8859-15", "replace"))])
            index.add(tweet.id)
        prev = tweet.id
    # sleep time to avoid search limit error (180 requests per 15min window)
    time.sleep(5.1)


table.save(pd("test.csv"))

print "Total results:", len(table)
print

【问题讨论】:

    标签: python twitter web-crawler sentiment-analysis


    【解决方案1】:

    抓取推文不是一个好方法,但只要 Twitter 不阻止您的抓取工具,它就会起作用。我推荐 Twitter API(流媒体和搜索 API)。他们会让你抓取推文并将它们存储在数据库中,然后进行任何你想做的分析。

    【讨论】:

      【解决方案2】:

      我建议您使用 Twitter 的 Streaming API,而不是 Crawling。因为您将获得比 crawling 更多的推文。如果速率限制未达到 firehose 的 1%,几乎所有推文。还提供过滤器供您使用可以用。

      用于 Twitter 流 api 的 Python 模块是:-

      • Twython
      • 推特
      • tweepy

      等等……

      我使用 Twython。这很好。希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2016-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多