Java开发Twitter爬虫抓取图片和视频并保存到本地
零、目标
使用Java开发爬虫,爬取Twitter状态下评论中的图片和视频,并将其保存到本地。
一、调研爬虫框架
Twitter4J: https://github.com/Twitter4J/Twitter4J
这是一个基于Java开发的框架,使用Twitter官方API接口。在使用之前,需要使用自己的账号申请秘钥。
WebMagic: https://github.com/code4craft/webmagic
这是一个由国人开发的Java爬虫框架,拥有很好的中文文档:http://webmagic.io/docs/zh/
此外,还有一些使用WebMagic开发的项目,地址为:https://github.com/topics/webmagic
在这里,有一个使用WebMagic编写的Twitter爬虫TwitterCrawler,其地址为:https://github.com/casolxia/TwitterCrawler。因此,我选择基于这个爬虫进行二次开发。
二、爬虫使用方法与问题记录
接下来,将TwitterCrawler Fork到我的Github仓库:https://github.com/wayss000/TwitterCrawler,然后将其clone到本地并进行启动调试。
启动遇到的问题记录:
问题1:无法访问org.apache.http.annotation.ThreadSafe。
原因:参考博客https://blog.csdn.net/lvyuan1234/article/details/103774766,是因为ThreadSafe这个类在httpcore-4.4.4.jar以后就被去掉了,而这里引用的是httpcore-4.4.14.jar。
解决方法:将httpcore版本改为4.4.4。
问题2:报错:javax.net.ssl.SSLException: Received fatal alert: protocol_version。
原因:参考https://stackoverflow.com/questions/16541627/javax-net-ssl-sslexception-received-fatal-alert-protocol-version,是因为在Java 1.8中,默认的TLS协议是v1.2。在Java 1.6和1.7中,默认的协议是已过时的TLS1.0。我在Java 1.8上遇到了这个错误,因为URL使用了旧的TLS1.0(如你所见 ClientHello, TLSv1
)。为了解决这个错误,你需要重写Java 1.8的默认设置。
解决方法:将WebMagic克隆到本地,运行mvn install webmagic,然后在TwitterCrawler中引用本地编译的WebMagic版本,而不是pom.xml中的0.7.3版本。
问题3:Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.
原因:@SpringBootApplication
annotation missing in your spring boot starter class.
解法:在启动类上,增加@SpringBootApplication
注解
问题4:Error creating bean with name ‘dataSource’ defined in class path resource
原因:springboot缺少数据源的配置。
解法:之前TwitterCrawler的项目用了数据库保存爬取的数据,但我这里不需要,因此删除与数据源相关的配置。
三、开发爬取Twitter图片、视频的代码
这里遇到了阻塞性问题:”Twitter使用JavaScript来生成其内容或者进行重定向,那么爬虫程序会收到“不支持JavaScript”的错误信息。这是因为爬虫程序默认情况下不会执行JavaScript代码,而是只会读取HTML文档中的静态内容。如果网站的内容是由JavaScript生成的,那么爬虫程序将无法正确解析这些内容。解决这个问题的方法是使用一个支持JavaScript执行的爬虫框架,比如Selenium或Puppeteer。这些框架可以模拟一个真实的浏览器环境,执行JavaScript代码并获取生成的内容。不过,使用这些框架会增加程序的复杂性和运行时间。”
暂时放弃自己开发的想法。
四、整理一些知识
写web自动化测试代码,一般用的技术框架?
- 测试HTTP接口的话:Jenkins+testng+httpclinet
- 测试UI的话:selenium
- 测试APPUI的话:appium
另外发现tampermonkey脚本也有下载Twitter视频的:
- https://greasyfork.org/en/scripts/404515-twitter-download-video/code
- https://greasyfork.org/en/scripts/423001-twitter-media-downloader
Java开发Twitter爬虫抓取图片和视频并保存到本地相关推荐
- java抓取图片_Java实现的爬虫抓取图片并保存操作示例
本文实例讲述了Java实现的爬虫抓取图片并保存操作.分享给大家供大家参考,具体如下: 这是我参考了网上一些资料写的第一个java爬虫程序 本来是想获取煎蛋网无聊图的图片,但是网络返回码一直是503,所 ...
- Java 将知乎问题下所有的回答保存到本地
Java将知乎问题下所有的回答保存到本地 使用jdk提供的相关api可以获取到网页中的内容,而知乎存放问题回答的地方又是可以通过url的方式被他人直接访问到的. https://www.zhihu.c ...
- Fiddler 抓包指定文件格式 并保存在本地
Fiddler 抓包指定文件格式 并保存在本地 打开 fiddler .打开规则 找到函数 编写保存代码 Fiddler 抓包并保存图片到本地: static function OnBeforeRes ...
- node.js抓取网络图片保存到本地,node.js抓取防盗链网络图片保存到本地
node.js抓取网络图片保存到本地,node.js抓取防盗链网络图片保存到本地 使用模块request.fs,request模块在npm里平均月下载量超过3000W次,那是相当的牛逼. node版本 ...
- java爬移动端搜索引擎_尝试java开发搜索引擎爬虫
大家应该也知道百度搜索结果都会有一个百度快照,这是通过缓存服务器调用出来的页面信息,这样我们就可以通过百度快照快速的浏览网页信息,那么这个缓存服务器跟爬虫又有什么联系么? 我们来大致了解一下爬虫的基本 ...
- python爬虫抓取图片-python网络爬虫源代码(可直接抓取图片)
在开始制作爬虫前,我们应该做好前期准备工作,找到要爬的网站,然后查看它的源代码我们这次爬豆瓣美女网站,网址为:用到的工具:pycharm,这是它的图标 ...博文来自:zhang740000的博客 P ...
- 【OpenCV 4开发详解】图像与视频的保存
本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...
- 将.m3u8转换为视频文件保存到本地
实现将一直的视频流文件保存到本地,需要 安装ffmpeg 视频流文件地址 使用ffmpeg安装包中的ffplay.exe实现视频的播放: ffplay http://edge.linknetott.s ...
- python爬虫抓取图片-简单的python爬虫教程:批量爬取图片
python编程语言,可以说是新型语言,也是这两年来发展比较快的一种语言,而且不管是少儿还是成年人都可以学习这个新型编程语言,今天南京小码王python培训机构变为大家分享了一个python爬虫教程. ...
最新文章
- 类名.class的含义。
- yolov5 soft_nms cluster_nms,cluster_SPM_nms,cluster_diounms,cluster_SPM_dist_nms,diou_nms
- 用于Web开发的8 个最好的跨平台编辑器
- 在Spring中使用JDBCJobStore配置Quartz
- vue数组中对象属性变化页面不渲染问题
- 在已有数据的linkedList和arrayList集合中在中间位置新插入一条数据谁更快
- mybatis 逆向工程生成的 Example 类的使用
- SCCM2007 R2的部署前准备,SCCM系列之一
- 如何在PHP中实现链式方法调用
- type与instance区别
- FPGA的I2S采集数据处理
- BIM技术在工程成本管控中有哪些优势
- 火车票软件哪个好用_抢火车票软件哪个好 2019哪个软件抢火车票成功率高
- text生成pdf之ctexwineditmiktexgbk2uni的安装使用方法
- Pomodoro技术的失败如何使我成为2倍更好的程序员
- MT6737芯片技术资料集锦下载
- chrome 油猴 电脑或者手机click()失效,解决
- Greatest Parents Ligh OJ1128
- Asp-Net-Core开发笔记:集成Hangfire实现异步任务队列和定时任务
- web前端电影项目作业源码 大学生影视主题网页制作电影网页设计模板 学生静态网页作业成品 dreamweaver电影HTML网站制作