Java Selenium 爬取微信公众号文章图片.md

article/2025/10/6 16:24:43

项目地址结尾

一、前期准备

1. 下载selenium的驱动

Chrome

http://chromedriver.storage.googleapis.com/index.html

Firefox

https://github.com/mozilla/geckodriver/releases/

IE

http://selenium-release.storage.googleapis.com/index.html

下载好驱动然后放到、对应的浏览器的启动目录

image-20200509204940445

2. 创建一个Maven项目

并在pom.xml中导入

    <dependencies><dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>3.141.59</version></dependency><dependency><groupId>org.jsoup</groupId><artifactId>jsoup</artifactId><version>1.11.3</version></dependency><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter</artifactId><version>RELEASE</version><scope>compile</scope></dependency></dependencies>

二、先梳理一下思路。

image-20200509205429452

爬这个页面的所有链接文章里面的图片。

1.先爬取所有的链接 存为一个 links [List]

2.再爬取所有links里面的picLinks [List<List >]

3.根据所有的链接下载图片

三、排坑

1.先说为啥我没用request库。

因为我发现微信公众号的链接太诡异了,跳转太多,懒得去找了。有大佬也可以给我说一下咋得到文章真实链接了。

推荐一个结合charles、或者chrome,的curl转代码的工具

https://curl.trillworks.com/

2.文章列表业进度条是动态加载的

可以通过selenium模拟js向下滚动,滚动个三四下,就好了。注意要停个一点时间。

JavascriptExecutor driver_js = (JavascriptExecutor) webDriver;
driver_js.executeScript("window.scrollTo(0, document.body.scrollHeight)");
            for(int i=0;i<3;i++) {driver_js.executeScript("window.scrollTo(0, document.body.scrollHeight)");try {Thread.sleep(3000); // 等0.3秒} catch (InterruptedException e) {e.printStackTrace();}}

image-20200509212643353

3. 用无头浏览器进行操作 [就是不让浏览器显示出来]

// 我这里也设置了一下环境变量 避免找不到

    public static WebDriver getChromeDriver(){if (webDriver == null) {System.setProperty("webdriver.chrome.driver", "C:\\Users\\lenovo\\AppData\\Local\\Google\\Chrome\\Application\\chromedriver.exe");// FirefoxDriver()            火狐浏览器//谷歌浏览器ChromeOptions chromeOptions = new ChromeOptions();chromeOptions.addArguments("-headless");webDriver = new ChromeDriver(chromeOptions);}return webDriver;}

项目地址:

https://github.com/Bit-urd/crawls-java

我的项目结构 [其实单纯的实现功能没这么麻烦],毕竟想着Java做就工程化一下,方便以后的复用。现在有些类还没有完善,以后用到功能再完善。

入口类:WevhatImageParse.java

image-20200509204558507


http://chatgpt.dhexx.cn/article/csdxLtqQ.shtml

相关文章

python爬虫(17)爬出新高度_抓取微信公众号文章(selenium+phantomjs)

个人博客请访问 http://www.x0100.top 一.思路分析 目前所知晓的能够抓取的方法有&#xff1a; 1、微信APP中微信公众号文章链接的直接抓取&#xff08;http://mp.weixin.qq.com/s?__bizMjM5MzU4ODk2MA&mid2735446906&idx1&snece37deaba0c8ebb9badf07e5a5a3bd…

获取微信公众号文章内视频真实地址

PHP获取微信公众号文章内视频与音频真实地址 微信公众号的文章的爬取可以看到这个项目&#xff1a;github 基于QueryList的微信公众号文章获取工具 有任何问题可以留言。 返回数据&#xff1a; 包含音频和视频包含多个视频 原有找到的文章 如何抓取微信公众号文章里面的视频…

Python爬取微信公众号文章、点赞数

代码还是热乎的&#xff0c;只要你细心一步步的慢慢调试&#xff0c;绝壁没问题 前期准备 订阅号&#xff1b;Python&#xff1b;Fiddler&#xff1b;微信账号&#xff1b; 流程 使用用微信公众号生成cookie使用Fiddler抓取微信公众号数据&#xff0c; 获取阅读数通过cooki…

如何爬取微信公众号文章(二)

在如何爬取微信公众号&#xff08;一&#xff09;中完成了将爬取公众号文章的元数据存入数据库&#xff0c;其中包括文章的连接、标题、发布时间、摘要和封面图片等信息。下面介绍如何根据文章链接来爬取文章内容。 开发环境 windows 7 x64python3.7 (Anaconda)vscode 编辑器…

如何爬取微信公众号文章(一)

微信公众号是目前最为流行的自媒体之一&#xff0c;上面有大量的内容&#xff0c;如何将自己感兴趣的公众号内容爬取下来&#xff0c;离线浏览&#xff0c;或者作进一步的分析呢&#xff1f; 下面我们讨论一下微信公众号文章的爬取。 环境搭建 windows 7 x64python3.7 (Anac…

Python 爬虫之微信公众号

Python 爬虫之微信公众号 源代码放在文末。 本次爬虫需要的工具如下: selenium 驱动器对应浏览器的 webdriver一个微信订阅号在 2017 年 6 月左右,微信官方发布一篇文章 https://mp.weixin.qq.com/s/67sk-uKz9Ct4niT-f4u1KA,大致意思就是以后发布文章的时候可以插入其他公…

公网访问局域网家用nas

提到外网访问不得不说说家里局域网的搭建结构了&#xff0c;就拿大众最常用的方式举例&#xff0c;网络运营商的光纤入户&#xff0c;通过运营商提供的光猫直接pppoe进行拨号&#xff0c;再连接自己的路由器&#xff0c;分配至各网口。 自从上次充当灵魂画手被嘲笑了以后就改用…

外网访问群晖NAS VMM搭建Openwrt的admin界面

偶然在网上看到很多的帖子使用群晖搭建openwrt搭建旁路由,心血来潮体验了一把,记录一下自己的搭建的整个过程,并最终实现外网访问Openwrt的admin界面。 本人使用的群晖nas DS220+,其他品牌未尝试。 一、前期配置 1、先在套件中心下载VMM(Virtaul Machine Manager) 2、下…

2022年10月 cpolar软件实现内网穿透连接群晖NAS

前言 1.cpolar简介 cpolar是一款拥有远程控制和内网穿透功能的软件。而且还可以监控端口的HTTP请求&#xff0c;利用实时的cpolar Web UI开发者工具&#xff0c;让您调试代码更容易。您可以监听所有隧道上的HTTP消息包&#xff0c;分析消息包的结构内容&#xff0c;找出问题点…

群晖内网穿透 实现外网快速访问 无需公网

有群晖的情况下&#xff0c;在内网我们可以通过ip正常访问我们的群晖/NAS;但是我们想要在外网访问的时候该怎么办&#xff0c;没有公网ip&#xff0c;扯专线太贵&#xff0c;自己搭建太麻烦。这无疑是个难题&#xff1b; 今天&#xff0c;小编找到了一款免费的内网穿透工具来实…

通过公网+域名访问家里的群晖服务器

公网域名访问群晖服务器 前言准备的东西如何判断你家里的宽带是公网IP通过公网IP网访群晖&#xff0c;端口映射申请域名和DDNS添加DDNS映射写在最后 前言 最近换了个工作&#xff0c;然后有代码的托管需求。想想用GitHub太卡了&#xff0c;国内的开源托管网站因为一些国人的素…

猫盘群晖外部网络访问的三种方法:公网IP、内网穿透、qc的实际评测

目录 具体过程概述内网穿透公网IPQuickconnect(QC&#xff09;结语 具体过程 概述 最近想入手一个NAS&#xff0c;由于我是新手入门&#xff0c;就选择入手了便宜的猫盘。我的猫盘是白群晖系统所以支持QC的功能&#xff0c;因此对目前猫盘群晖的DiskStation Manager&#xff…

特征值和特征矩阵

写一点对矩阵特征值和特征矩阵的理解 1. A是一个矩阵&#xff0c;它作用在向量v上。如果A是2阶对角阵的话&#xff0c;它起到的作用是将向量v在横纵方向拉伸 2. 当A是一个普通2阶矩阵时&#xff0c;它对v的拉伸不再是横纵方向&#xff0c;而是任意方向的&#xff0c;这取决于实…

三阶矩阵求特征值的快速算法

一般的三阶矩阵求特征值其实是解析不了的&#xff0c;因为特征方程对应的是三次方程&#xff0c;对于一般的三次方程&#xff0c;是很难求解的。要想方程有三个整数根&#xff0c;并且能够不用完全暴力展开三阶行列式这样的矩阵实际是很特殊的。 1.某一行有两个0的情况是最好算…

用R求矩阵的特征值和特征向量

最近在学习多元统计分析的主成分分析时&#xff0c;发现需要经常计算矩阵的特征值和特征向量&#xff0c;自己就找了下用R来做计算的函数。 我们可以用sigen()函数来计算特征对。 #创建一个矩阵 a <- matrix(c(11,sqrt(3)/2,3/2,sqrt(3)/2,21/4,5*sqrt(3)/4,3/2,5*sqrt(3)/…

怎么算特征值和特征矩阵?

怎样更通俗的理解特征值和特征矩阵&#xff1f; 设A是一个n阶矩阵&#xff0c;若数和n维非零列向量满足&#xff0c;数称为A的特征值&#xff0c;x称为A对应于特征值的特征向量。此时叫做特征多项式&#xff0c;若特征多项式为0则称为A的特征方程&#xff08;齐次线性方程组&a…

矩阵特征值和特征向量的求取

最近项目中有一个模块需要求矩阵的最大特征值和特征值对应的特征向量&#xff0c;无奈&#xff0c;又重新将以前学习的这方面的知识重新温习了一遍&#xff0c;感觉还是当时学的不够深&#xff0c;所以谢谢感悟&#xff0c;顺便对知识点进行一个总结。 首先特征值和特征向量的…

matlab如何求矩阵特征值

根据线性代数理论&#xff0c;特征值与特征向量只存在于方阵。如下所示为一方阵A&#xff1a; 在matlab输入矩阵&#xff1a; A [1 2 4; 4 0 7 9 1 3]; 查阅matlab help可以知道&#xff0c;利用eig函数可以快速求解矩阵的特征值与特征向量。 格式&#xff1a;[V,D] eig(A) 说…

delphi 连接轻量级数据库 sqlite3

环境: windows7-64, delphi7, sqlite3 最近搞个小工具&#xff0c;要用到轻量级数据库。以前小型数据库是用mdb的&#xff0c;但连接mdb 需要odbc的支持。 对环境依赖性很大&#xff0c;于是换了一种传说中的轻量级数据库。 sqlite 很小巧&#xff0c;delphi 7 连接sqlite…

轻量级数据库sqlite,spring boot+sqlite的配置详解 (一)

spring bootsqlite的配置&#xff0c;及成功运行详解 sqlite数据库的安装与调试 首先&#xff0c;通过sqlite官方地址下载对应的安装包 https://www.sqlite.org/download.html 下载对应版本的安装包和工具包 解压后会得到这几个文件&#xff0c;将这几个文件放在同一目录下 …