首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从python脚本运行snscrape命令?

如何从python脚本运行snscrape命令?
EN

Stack Overflow用户
提问于 2020-10-30 15:21:57
回答 1查看 2.4K关注 0票数 1

我正试着用蛇咬伤下载一些推特。安装之后,我可以运行如下命令来下载一些tweet:

代码语言:javascript
复制
snscrape --jsonl --max-results 4 twitter-search "#SherlockHolmes since:2015-01-01 until:2015-01-15" > sherlock_tweets.json

现在,我想在python脚本中运行这个命令。据我所知,这样做的方法是使用subprocess.run方法。我使用以下代码从python运行命令:

代码语言:javascript
复制
import subprocess

# Running this in a terminal works
cmd = '''snscrape --jsonl --max-results 4 twitter-search "#SherlockHolmes since:2015-01-01 until:2015-01-15" > sherlock_tweets.json'''
arglist = cmd.split(" ")

process = subprocess.run(arglist, shell=True)

但是,运行此操作会出现以下错误。

代码语言:javascript
复制
usage: snscrape [-h] [--version] [-v] [--dump-locals] [--retry N] [-n N] [-f FORMAT | --jsonl] [--with-entity] [--since DATETIME] [--progress]
                {telegram-channel,weibo-user,vkontakte-user,instagram-user,instagram-hashtag,instagram-location,twitter-thread,twitter-search,reddit-user,reddit-subreddit,reddit-search,facebook-group,twitter-user,twitter-hashtag,twitter-list-posts,facebook-user,facebook-community,twitter-profile}
                ...
snscrape: error: the following arguments are required: scraper

为甚麽这两宗个案的行为不一样呢?如何完成从python脚本运行命令,获得与在终端中输入命令完全相同的行为?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-30 16:42:12

我不知道你是否找到了解决方案,但我运行了这段代码,这对我来说是有效的:

代码语言:javascript
复制
import pandas as pd
import snscrape.modules.twitter as sntwitter

tweet_collection = pd.DataFrame({
'Username':[],
'Date'=[],
'Likes'=[],
'Content'=[]})

for tweet in sntwitter.TwitterSearchScraper(f'since:{date_beg} until:{date_end} from:{twitter_account}').get_items():
    tweets_collection = tweets_candidats.append({
        "Username":tweet.user.username,
        "Date":tweet.date,
        "Tweet":tweet.content,
        "Likes":tweet.likeCount,},ignore_index=True)
tweets_candidats.to_csv('Path/file.csv')

您可以在git集线器的代码中找到更多的细节。

推特抓取论点

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64611190

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档