微信公众号数据采集

目录

一、采集公众号文章URL

1.运行环境

1.Webdriver

2.python运行环境

3.cx-oracle

4.lxml

5.注册一个微信公众号

2.采集文章连接

1.配置config.txt

2.启动程序

二、采集文章详细信息

1.配置detail_config.txt

2.启动程序

三、数据

1.数据库

 2.Execl


最近统计感兴趣的公众号的阅读数据,这篇文章就记录一下实现过程。本文只用于学习交流,请勿他用。

一、采集公众号文章URL

本程序主要考虑是在window下运行,在运行之前,请确保已有python的基本运行环境,以及相关的python插件。

1.运行环境

1.Webdriver

确保window环境有google浏览器,如果你所使用的google浏览器版本不知支持程序中所提供的webdriver,有以下解决方式:

一是下载自己电脑中google浏览器版本所对应的webdriver

二是安装文件中提供的gongle浏览器

三是自己查找其他浏览器的对应的webdriver(这里不建议这么做,除非自己能搞定遇到的问题)

2.python运行环境

python版本>=3.6

3.cx-oracle

版本 5.3这个版本对应服务器上的oracle数据库版本11g,其他版本连接不上

pip install oracle==5.3

4.lxml

execl文件操作需要的插件

pip install lxml

5.注册一个微信公众号

用已有的也行

2.采集文章连接

1.配置config.txt

 

这个文件可以配置多个公众号,程序会将所配置的公众号的文章url采集下来,注意格式为:

每个公众号一行

公众号名 起始时间 结束时间

即需要采集的公众号名称,采集的开始时间,结束时间,以空格隔开,程序只会保存起始时间,结束时间内的文章数据。

2.启动程序

点击JZTravel_Artical_Url.bat,微信扫一扫,登录自己的微信公众号,登录成功后,会进入微信公众号页面,不要关闭这个页面,因为程序会自动将这个页面退出,页面退出后程序将采集文章url。

 

程序运行结束后,会在data文件夹下产生相应的文件,里面保存着需要采集的微信公众号文章的url。

注意:登录过程中,可能出现以下报错,不用急,这可能是当前网络问题,导致页面上的数据加载不全导致,重试几次就行。

二、采集文章详细信息

1.配置detail_config.txt

采集公众号详情的配置文件

注意:由于cookie的原因,这个文件只能配置一个公众号信息,并且这个需要采集的公众号必须和cookie中的连接对应,格式为

公众号名称|数据保存方式

即需要采集的公众号,保存方式,”|”分开,包存方式有三种,xls—保存为execloracle—保存到oracle数据库,other—同时保存到execl文件和Oracle数据库。根据实际选择需要。

2.启动程序

点击JZTravel_Artical_Detail.bat,程序将自动采集文章的详细数据。

注意:

报错一:程序出现以下错误时,不会影响采集程序,也不会影响采集结果

报错二:程序出现以下错误时,是cookie失效导致的,需要从新导入cookie数据,不用担心,已经采集过的文章数据,不会重复采集。

报错三:程序出现以下错误时,是爬虫程序写入的Excel文件被打开了,需要关闭文件重新启动程序,也就是说,爬虫采集的过程中是不能打开execl文件的。

三、数据

考虑到实际运行爬虫的网络环境,这里采用数据多重备份。包括数据本地文件备份和数据库备份。

1.数据库

 2.Execl

按照采集日期分开保存。

 本文只用于学习交流,请勿他用。技术支持,扣扣:3165845957

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
WebMagic是一款优秀的Java爬虫框架,可以用来模拟登录微信公众号进行数据采集。 首先,我们需要了解微信公众号的登录方式。微信公众号使用了基于账号密码的登录方式,因此我们需要模拟登录账号密码。 接下来,我们需要使用WebMagic框架进行模拟登录。具体步骤如下: 1. 构建登录表单 使用WebMagic框架可以方便地构建登录表单,例如: ``` FormBody formBody = new FormBody.Builder() .add("username", "your_username") .add("password", "your_password") .build(); ``` 2. 发送登录请求 使用WebMagic框架可以方便地发送登录请求,例如: ``` Request request = new Request.Builder() .url("https://mp.weixin.qq.com/cgi-bin/bizlogin?action=startlogin") .post(formBody) .build(); CloseableHttpClient httpClient = HttpClients.createDefault(); CloseableHttpResponse response = httpClient.execute(request); ``` 3. 提取登录后的Cookie 登录成功后,我们需要提取Cookie,以便后续的数据采集。使用WebMagic框架可以方便地提取Cookie,例如: ``` List<Cookie> cookies = CookieExtractor.of(response).extractFromHeaders(); ``` 4. 发送数据采集请求 使用WebMagic框架可以方便地发送数据采集请求,例如: ``` Request request = new Request.Builder() .url("https://mp.weixin.qq.com/cgi-bin/appmsg") .cookies(cookies) .build(); httpClient = HttpClients.createDefault(); response = httpClient.execute(request); ``` 5. 解析数据 使用WebMagic框架可以方便地解析数据,例如: ``` Html html = Html.create(response.getEntity().getContent(), Charset.forName("UTF-8")); List<String> titles = html.xpath("//div[@class='news-list']/ul/li/div[2]/h4/a/text()").all(); ``` 以上就是使用WebMagic框架模拟登录微信公众号进行数据采集的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值