# WeGouSharp
基于搜狗的微信公众号定向爬虫(接口),使用C#实现,故取名WeGouSharp
关于微信公共号爬虫的项目网上已经不少,然而基本大多数的都是使用Python实现
鉴于鄙人是名.NET开发人员,于是又为广大微软系同胞创建了这个轮子,使用C#实现的微信爬虫
蓝本为[Chyroc/WechatSogou](https://github.com/Chyroc/WechatSogou),
在此还请各位大佬指教
*** 已经更新至dotnet core,可在linux或Mac下运行 ***
### 关于依赖处理
~~由于集成了Firefox作为引擎,所以包比较大..,如果想小点的可以查看faq文档[faq](docs/faq.md)~~
考虑到稳定性和兼容性并优化包大小,所以现在不再单独提供firefox二进制文件
但是程序还是依赖firefox,所以请自行在运行的机器安装最新版Firefox
- 使用包管理器安装(Debian/Ubuntu)
`sudo apt update && sudo apt install firefox`
其他系统同理,推荐这种方案,因为这样安装可以直接在终端输入firefox即可运行
或者使用下面方法安装,似乎需要把安装目录加入到环境变量
- Windows/macOS/Linux [下载安装](https://www.mozilla.org/en-US/firefox/new/)
**如果不是安装在系统目录下,请把安装目录加入到环境变量**
## 安装/引用
~~默认编译类型为控制台应用~~
~~也可修改为动态链接库(dll)然后在程序之间添加引用接口~~
目前src里的已经改为netstandart2.0,
dotnet core或者.NET framework 4.6.1+的可以直接引用该项目
样例即sample/Hostrunner
进入该项目,执行
`dotnet build`
然后进入bin目录中找到HostRunner.dll
执行即可`dotnet HostRunner.dll`
## 添加依赖
- HtmlAgilityPack //用于解析HTML
- log4net //日志
- CoreCompat.System.Drawing
- OpenCvSharp3-AnyCPU //验证码显示以及自动识别
- Newtonsoft.Json //序列化
- Selenium.WebDriver
- 等等
以上引用建议通过NuGet添加
如(visual studio-->tools-->Nuget Package Manager-->Package Manager Console):
```
Install-Package HtmlAgilityPack
```
~~也可以直接在项目packages文件夹获取~~
## 使用
```
dotnet run
```
### 初始化 API
在sample项目中已经引用了该项目所以直接调用(单例模式)
```C#
var apiService = WeGouService.Instance;
var rs = apiService.GetAccountInfoByIdAsync("taosay").Result;
```
运行截图 macOS:
![run_sample_on_mac](docs/ScreenShot/run_sample.png)
windows
![运行结果](docs/ScreenShot/SearchOfficialAccount.png?raw=true)
## 数据结构:
### 公众号结构:
```C#
public struct OfficialAccount
{
public string AccountPageurl;
public string WeChatId;
public string Name;
public string Introduction;
public bool IsAuth;
public string QrCode;
public string ProfilePicture;//
public string RecentArticleUrl;
}
```
### 字段含义
字段|含义
----|----
AccountPageurl|微信公众号页
WeChatId|公号ID(唯一)
Name|名称
Introduction|介绍
IsAuth|是否官方认证
QrCode|二维码链接
ProfilePicture|头像链接
### 公号群发消息结构(含图文推送)
```c#
public struct BatchMessage
{
public int Meaasgeid;
public string SendDate;
public string Type; //49:图文,1:文字,3:图片,34:音频,62:视频
public string Content;
public string ImageUrl;
public string PlayLength;
public int FileId;
public string AudioSrc;
//for type 图文
public string ContentUrl;
public int Main;
public string Title;
public string Digest;
public string SourceUrl;
public string Cover;
public string Author;
public string CopyrightStat;
//for type 视频
public string CdnVideoId;
public string Thumb;
public string VideoSrc;
//others
}
```
### 字段含义
字段|含义
----|----
Meaasgeid|消息号
SendDate|发出时间(unix时间戳)
Type|消息类型:49:图文, 1:文字, 3:图片, 34:音频, 62:视频
Content|文本内容(针对类型1即文字)
ImageUrl|图片(针对类型3,即图片)
PlayLength|播放长度(针对类型34,即音频,下同)
FileId|音频文件id
AudioSrc|音频源
ContentUrl|文章来源(针对类型49,即图文,下同)
Main|不明确
Title|文章标题
Digest|不明确
SourceUrl|可能是阅读原文
Cover|封面图
Author|作者
CopyrightStat|可能是否原创?
CdnVideoId|视频id(针对类型62,即视频,下同)
Thumb|视频缩略图
VideoSrc|视频链接
### 文章结构
```C#
public struct Article
{
public string Url;
public List<string>Imgs;
public string Title;
public string Brief;
public string Time;
public string ArticleListUrl;
public OfficialAccount officialAccount;
}
```
### 字段含义
字段|含义
----|----
Url|文章链接
Imgs|封面图(可能多个)
Title|文章标题
Brief|简介
Time|发表日期(unix时间戳)
OfficialAccount|关联的公众号(信息不全,仅供参考)
### 搜索榜结构
```C#
public struct HotWord
{
public int Rank;//排行
public string Word;
public string JumpLink; //相关链接
public int HotDegree; //热度
}
```
## 其他
关于验证码,目前手动输入,后期接入自动识别或者打码平台API
欢迎各位批评,提交issue以及fork
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】: 所有源码都经过严格测试,可以直接运行。 功能在确认正常工作后才上传。 【适用人群】: 适用于希望学习不同技术领域的小白或进阶学习者。 可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】: 项目具有较高的学习借鉴价值,也可直接拿来修改复刻。 对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】: 有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
毕设&课设&项目&实训-基于搜狗的微信公众号定向爬虫(接口),使用C#实现,故取名WeGouSharp.zip (1054个子文件)
change program type 227B
CHEANGELOG 81B
log4net.config 3KB
log4net.config 3KB
log4net.config 1KB
WechatSogouApi.cs 27KB
WechatSogouBasic.cs 15KB
Browser.cs 11KB
OnlineDecoder.cs 10KB
WeGouService.cs 8KB
Program.cs 6KB
Tools.cs 4KB
Exception.cs 2KB
ArticleTest.cs 2KB
BasicConfig.cs 2KB
ShellHelper.cs 2KB
HttpHelper.cs 2KB
MessageTest.cs 1KB
BatchMessage.cs 1KB
AppMsgExtInfo.cs 1KB
MultiAppMsgItemList.cs 852B
Program.cs 775B
WordsTest.cs 673B
OfficialAccount.cs 633B
Article.cs 552B
AccountTest.cs 535B
ServiceProviderAccessor.cs 516B
HotWord.cs 434B
YunDaMaConfig.cs 414B
CommMsgInfo.cs 403B
EngineType.cs 367B
EncryptArgs.cs 367B
Msg.cs 350B
YunDaMaReponse.cs 334B
IDecoder.cs 276B
VideoMsgExtInfo.cs 209B
VoiceMsgInfo.cs 204B
MsgRoot.cs 162B
CaptchaType.cs 117B
WeGouSharp.csproj 2KB
WeGouTest.csproj 844B
HostRunner.csproj 534B
Dockerfile 7B
geckodriver.exe 9.24MB
geckodriver 8.14MB
geckodriver 6.74MB
.gitattributes 2KB
.gitignore 4KB
dm1585.jpg 3KB
1m172s.jpg 3KB
t7jhv7.jpg 3KB
87Y7DY.jpg 3KB
4V5554.jpg 3KB
5RB3CB.jpg 3KB
26H2CJ.jpg 3KB
DTP87R.jpg 3KB
rfx47e.jpg 3KB
CX5268.jpg 3KB
266p64.jpg 3KB
761cb4.jpg 3KB
8fe252.jpg 3KB
v4d53e.jpg 3KB
x5j787.jpg 3KB
33mb6c.jpg 3KB
522ERT.jpg 3KB
5atkx7.jpg 3KB
4645X4.jpg 3KB
sdcmcs.jpg 3KB
4J8DP2.jpg 3KB
H4YSF4.jpg 3KB
D65J45.jpg 3KB
XE75E5.jpg 3KB
47KB4J.jpg 3KB
F231HS.jpg 3KB
6x2541.jpg 3KB
37bbmp.jpg 3KB
c26j16.jpg 3KB
7515b7.jpg 3KB
d514p2.jpg 3KB
8635R6.jpg 3KB
K8T52M.jpg 3KB
D655HF.jpg 3KB
R5BC4P.jpg 3KB
m45v7e.jpg 3KB
A73HDF.jpg 3KB
4K81J3.jpg 3KB
3V784F.jpg 3KB
jt8bsx.jpg 3KB
282C85.jpg 3KB
3yl3j8.jpg 3KB
v381r6.jpg 3KB
8CJ86A.jpg 3KB
13568.jpg 3KB
3822jx.jpg 3KB
6dvkdf.jpg 3KB
SKE2RB.jpg 3KB
bt6857.jpg 3KB
2j8y66.jpg 3KB
84s6kj.jpg 3KB
5HzXC7.jpg 3KB
共 1054 条
- 1
- 2
- 3
- 4
- 5
- 6
- 11
资源评论
妄北y
- 粉丝: 9668
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功