当前位置: 首页 > 知识库问答 >
问题:

从twitter上抓取推文[重复]

阎乐池
2023-03-14

我正在尝试使用tweet id抓取tweet文本,我的代码是:

import selenium
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

browser=webdriver.Chrome()
base_url='https://twitter.com/FoxNews/status/'
query='964981093127655424'
url=base_url+query
browser.get(url)
title=browser.find_element_by_tag_name('title')
print(title)

输出为:

selenium.webdriver.remote.webelement.WebElement(会话="7ca1c0e4c33d62a122bc51bbc171c7eb",元素="0.37665530454795326-1")

我如何打印文本在人类可读的格式?(在这种情况下:“前总统@比尔·克林顿在推特上呼吁延长攻击性武器禁令”。)

共有2个答案

蒋栋
2023-03-14


正如Ofek所指出的,将请求/urllibbs4结合使用是一个更好的抓取选项。


为了得到你感兴趣的文本,你可以这样做:

import requests
from bs4 import BeautifulSoup

page = requests.get("https://twitter.com/FoxNews/status/964981093127655424")
soup = BeautifulSoup(page.content, "html.parser")

tweet = soup.select_one(".js-tweet-text-container .TweetTextSize--jumbo")
print(tweet.get_text())


您的输出如下所示:

'On Twitter, former President @BillClinton called for a renewal of the Assault Weapons Ban.pic.twitter.com/hPaFyhGSfd'


现在,让我们来分析一下我们所做的。首先,requests向Twitter服务器发出GET请求,输入URL的内容保存为页面中的响应对象。然后,我们继续使用页面创建一个美化组对象。

为了找到推文文本,我们使用CSS选择器。

这是一个简单的刮擦工作,如果其中任何一个对你来说都没有意义,我建议你去看一些教程。你可以从这篇文章开始,它将教你网络抓取的基础知识,并帮助你开始。

希望这有帮助!

梁鸣
2023-03-14

你可以使用。WebElement类的text属性。

我不认为selenium是抓取网站的最佳方式,你最好使用一些请求或带有beautifulsoup的urllib,使用实际的浏览器速度慢且不易控制(cookies、html属性等)

 类似资料:
  • 我正在准备一个应用程序来使用Twitter REST API发送推文。我想警告(重复推文)用户,如果他们尝试发送已从我的应用程序提交的推文。 推特表示需要重复推文- 对于每次更新尝试,都会将更新文本与身份验证用户最近的推文进行比较。任何可能导致重复的尝试都将被阻止,从而导致 403 错误。因此,用户不能连续两次提交相同的状态。 推特如何收集最近的推文? 时间间隔 不。用户的最新推文 推特上没有可用

  • 我试图使用Tweepy从特定位置获取推文,但当我运行代码时,会出现此错误 在我的代码中,我尝试从纽约市获取推文,其中包含纽约的位置坐标。我怎样才能从纽约一个人那里得到推特?我的猜测是使用一系列坐标,比如x,y和y,z。我该怎么做呢? 这是我的代码:

  • 我正在使用twitter流API从用户那里获取推文。我有用户Id列表如何从TwitterStream API获取推文列表。我分析了以下样本 https://github.com/yusuke/twitter4j/blob/master/twitter4j-examples/src/main/java/twitter4j/examples/stream/PrintUserStream.java 但它

  • 问题内容: 我有一个推特ID列表,我想为其下载其文本内容。有什么简单的解决方案,最好是通过Python脚本来实现?我查看了Tweepy之类的其他库,但事情似乎并没有那么简单,并且由于我的清单很长,因此无法手动下载它们。 问题答案: 您可以使用API路由按其ID访问特定的推文。大多数Python Twitter库遵循完全相同的模式,或为这些方法提供“友好的”名称。 例如,Twython提供了几种方法

  • 问题内容: 我已经通过Scrapy文档今天一直在进行,并试图获得一个工作版本- https://docs.scrapy.org/en/latest/intro/tutorial.html#our-first- spider -在现实世界的例子。我的示例稍有不同,它有2个下一页,即 start_url>城市页面>单位页面 这是我要从中获取数据的单位页面。 我的代码: 但是当我运行它时,我得到: 因此

  • 8.4.从 Twitter 读取数据 我们已经有了个大体的框架,接下来就连接到 Twitter ,读取数据并且在程序中显示出来。Twitter 或者其他的微博平台提供的 API 都各不相同。这时可以使用三方库jtwitter.jar,它提供了一个Twitter类作为封装。里边最常用的功能之一就是getFriendsTimeline(),它可以返回24小时中自己和朋友的最新20条消息。 要使用 Tw