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

Python:计算用户在推文中使用的图像和视频数量

赵晟睿
2023-03-14

我抓取了Twitterhtml" target="_blank">数据,但没有使用Tweepy,我想为每个用户获取推文中使用的图像/视频数量。到目前为止,我拥有的是:推文URL:“https://twitter.com/user_screen_name/status/tweet_id,我还有user_id和推文(文本链接媒体)。

我想做的是检查推文是否包含视频,如果是,计算它,图像也是如此。我注意到推文中使用的链接以“…/t.co.开头。”所以它们基本上是重定向链接。此外,推文中显示的图像/视频基本上是重定向链接中包含的那些(这就是我所理解的)

我尝试了此代码进行图像计数,但没有得到任何结果:

import urllib
from bs4 import BeautifulSoup
from urllib.request import urlopen   
def get_image_count(url):              
    soup = bs4.BeautifulSoup(urlopen((url))
    images = soup.findAll('img')
    file_types= '//img[contains(@src, ".jpg") or contains(@src, ".jpeg") or contains(@src, ".png")]'
    # loop through all img elements found and store the urls with matching extensions
    urls = list(x for x in images if x['src'].split('.')[-1] in file_types)
    print(urls)
    return len(urls)

当我使用此链接运行此代码时='https://twitter.com/fritzlabs/status/1369661296162054145'这是我得到的输出:

[<img alt="Twitter" height="38" src="https://abs.twimg.com/errors/logo46x38.png" srcset="https://abs.twimg.com/errors/logo46x38.png 1x, https://abs.twimg.com/errors/logo46x38@2x.png 2x" width="46"/>]

1

请问这里有任何帮助吗?我尝试了其他代码,但得到了相同的输出。谢谢

共有1个答案

傅边浩
2023-03-14

发生这种情况是因为请求返回的超文本标记语言不是推文,而是一个警告,说Javascript被禁用了。这不是你的脚本的错误,当你在浏览器中发出请求时也会发生,不管是否启用了javascript。

当向示例tweet发出浏览器请求时,会返回禁用的javascript HTML,然后javascript会运行并加载到实际的tweet中。

要查看这一过程,请打开Chrome或Firefox,按F12并转到网络选项卡。访问您的页面。第一个请求与您在python中发出的请求相同,即tweet < code > 1369661296162054145 。如果您查看请求响应的预览,您会看到javascript警告。

在网络选项卡的下方,您会看到对< code > 1369661296162054145 . JSON 的请求。这是返回实际tweet的请求,也是您需要复制的请求。

 类似资料:
  • 我正在使用一个循环来访问使用Python和OpenCV的视频文件的所有帧。在访问每个帧时,我将该帧的索引添加到一个列表中。 但是,我比较了列表的大小和使用

  • 问题内容: 我是OpenCV的初学者。我想对要上传到服务器的视频帧进行一些图像处理。我只想读取可用的框架并将它们写入目录中。然后,等待视频的另一部分上载并将帧写入目录。并且,我应该等待每个帧都完全上传,然后将其写入文件。 您能告诉我如何使用OpenCV(Python)吗? 编辑1: 我编写了这段代码,用于从文件中捕获视频,而新数据将附加在文件末尾。换句话说,该文件不是完整的视频,并且另一个程序正在

  • 问题内容: 我在Python中具有以下测试代码以读取,设置阈值和显示图像: 我想计算带有特定标签(例如黑色)的图像内像素的数量。我怎样才能做到这一点 ?我看了OpenCV的教程,但没有找到任何帮助:-( 谢谢! 问题答案: 对于黑色图像,您将获得像素总数(行*列),然后从得出的结果中减去它。 对于其他值,您可以创建一个遮罩,该遮罩用于返回显示所需颜色/标签/值的所有位置的二进制遮罩,然后用于计算其

  • 下面是我的代码: 所以问题是调用!当没有框架时,它将返回!而且它不会再捕捉帧了,即使我等了很长时间。

  • 欢迎阅读系列教程,内容涵盖 OpenCV,它是一个图像和视频处理库,包含 C ++,C,Python 和 Java 的绑定。 OpenCV 用于各种图像和视频分析,如面部识别和检测,车牌阅读,照片编辑,高级机器人视觉,光学字符识别等等。

  • 问题内容: 我正在尝试使用一系列.png图像制作视频。我找到了这个Python脚本,但是我不确定如何使用它: https://sites.google.com/site/timelapsepy/home 我也尝试研究opencv,但它似乎对我来说安装不正确。关于将几个图像串在一起以创建延时视频的简单程序有什么想法?如果可能的话,我想使用Python。 问题答案: 如果您确实需要脚本化的python