分享爬取Matlab中文论坛基础讨论的源代码

文章目录

  • 分享爬取Matlab中文论坛基础讨论的源代码

学习Matlab的过程中,中文论坛是一个很不错的地方

为了方便搜索、查看论坛,很有必要把感兴趣的版块给爬取下来

当然爬取中文论坛可以做为一次爬虫练习,从中能体验到具体的过程:

  • 网页请求
  • 正则表达式匹配期望得到的数据
  • 结果保存

Matlab基础讨论版块的请求地址是:https://www.ilovematlab.cn/forum.php?mod=forumdisplay&fid=6&typeid=606&typeid=606&filter=typeid&page=

其中参数page的值为当前网页的页码,截止目前,这一板块已经有了506页的问答信息了

整体思路是用google浏览器打开网页后,按F12进行网页分析后就可以爬取我们需要的数据了。

下面是整个源代码:

clear
clcPageNum = 100;
titleInfo = {'主题', '地址', '回复人数', '阅读人数'};
allInfo.data = [];
options = weboptions('Timeout', 20);
options.UserAgent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36';tic
for ii = 1 : PageNumurl = ['https://www.ilovematlab.cn/forum.php?mod=forumdisplay&fid=6&typeid=606&typeid=606&filter=typeid&page=', num2str(ii)];htmlContent = webread(url, options);% The url of theamtheamUrl = regexp(htmlContent, '(?<=</font></a>]</em> <a href=").*?(?="\s)', 'match');theamUrl = strrep(theamUrl, 'amp;', '')';theamUrl = regexprep(theamUrl, 'forum', 'https://www.ilovematlab.cn/forum');% The title of theamtheamTitle = (regexp(htmlContent, '(?<=class="s xst">).*?(?=</a>)', 'match'))';% The number of readtheamReadNum = (regexp(htmlContent, '(?<=</a><em>)\d+(?=</em></td>)', 'match'))';% The number of requesttheamRequestNum = (regexp(htmlContent, '(?<=class="xi2">)\d+(?=</a><em>)', 'match'))';theamContent = [theamTitle, theamUrl, theamRequestNum, theamReadNum];clear theamTitle theamUrl theamRequestNum theamReadNumallInfo.data = [allInfo.data; theamContent];disp(['正在爬取第', num2str(ii), '页'])
endif ~exist('result', 'dir')mkdir('result');
end% sort info with the number of read
[~, indx] = sort(str2double(allInfo.data(:, 4)), 'descend');
xlswrite('result/matlabForumSolveProblem.xls', [titleInfo; allInfo.data(indx, :)]);
toc

为了方便演示,这里只爬取了前100页的数据


今天的分享就到这里了,感兴趣的朋友们可以对源代码进行优化,以更快的方法爬取,祝好!

分享爬取Matlab中文论坛基础讨论的源代码相关推荐

  1. matlab论坛真不活跃,MATLAB中文论坛常见问题归纳

    目录: @winner245.@kaaaf123.@ljelly 对内容提供的一些建议,如果你觉得还有什么值得归纳的问题,可以在文章底部评论中提出,我们共同探讨. 求解方程 求解方程通常有两种方法,符 ...

  2. matlab中文论坛有手机版吗,MATLAB中文论坛常见问题归纳

    目录: @winner245.@kaaaf123.@ljelly 对内容提供的一些建议,如果你觉得还有什么值得归纳的问题,可以在文章底部评论中提出,我们共同探讨. 求解方程 求解方程通常有两种方法,符 ...

  3. D:MATLAB.N个实用技巧-MATLAB中文论坛精华总结

    在为此书作序的时候,MATLAB中文论坛的主题已经达到10万,帖子超过100万,有效会员30万.MATLAB的基础技巧已经在论坛里得到了充分的展示与探讨,大家常见的问题大部分获得了解答!是时候做一个小 ...

  4. scrapy框架爬取虎扑论坛球队新闻

    目录 Scrapy 框架 制作 Scrapy 爬虫 一共需要4步: Scrapy的安装介绍 Windows 安装方式 一. 新建项目(scrapy startproject) 二.明确目标(mySpi ...

  5. matlab中文论坛视频谷普教程MATLAB压缩包介绍

    matlab中文论坛视频谷普教程MATLAB压缩包介绍 我也正在学习这个软件 ,看到这个教程就在这里分享了,希望大家喜欢! Matlab 初学者视频教学 1. Matlab视频:Matlab中文论坛为 ...

  6. Matlab资料汇总暨MATLAB中文论坛帖子整理(三)

    本资料所有问题及代码均摘选自matlab中文论坛,主要供自己学习使用.非常感谢论坛的所有提出以及解答问题的会员. 93.如何同时读入多个文件,并作图? 用下面的方法:把你的文件名放在红色字体标注的语句 ...

  7. 【Python爬虫】MongoDB爬虫实践:爬取虎扑论坛

    MongoDB爬虫实践:爬取虎扑论坛 网站地址为:https://bbs.hupu.com/bxj 1.网站分析 首先,定位网页上帖子名称.帖子链接.作者.作者链接.创建时间.回复数目.浏览数目.最后 ...

  8. 爬取福利吧论坛所有的福利汇总文(视频标题链接、图片)

    目录 items.py flhz.py pipelines.py 目标:爬取 福利吧论坛 里的 福利汇总 文,将所有 福利汇总 文里的热门视频标题.链接以json格式保存,所有 福利汇总 文里面的图片 ...

  9. python爬虫之爬取起点中文原创小说排行榜

    学习python有段时间了,最近做了一个网上爬虫工具爬取起点中文原创小说排行榜数据,作为最近学习python的一个阶段性成果. 工具 对于做网络爬虫工具经常用到的就是chrome浏览器,主要用于抓取网 ...

最新文章

  1. Linux权限管理(suid euid)
  2. 高翔博士SLAMBOO2十二讲代码库中的三方库没有下载下来 ,需要手动对三方库单独下载的git的命令如下
  3. [architecture]-arm exclusive机制介绍
  4. Linux如何运行pipe1,Linux中的管道
  5. python笔记之 inputprintformat函数
  6. java map join_HashMap 常见应用:实现 SQL JOIN
  7. centos6.3 nginx php,CentOS 6.3下nginx、php-fpm、drupal快速部署
  8. 【广告技术】揭秘!腾讯广告是如何有效划分用户群体的
  9. 【Luogu1160】队列安排(双向链表)
  10. 从盒子到“云”——让用户享受更轻松的应用交付
  11. psasp 问题记录
  12. 备战蓝桥杯(4)——第九届蓝桥杯嵌入式省赛赛题实战
  13. 怎样用捷速PDF编辑器修改PDF文档
  14. Intel中国建厂:中国自主处理器边缘化
  15. matlab运行LCT跟踪算法代码
  16. 在Windows中初次安装VS Code详细过程及初始化
  17. NVIC_EnableIRQ使能无法进行的原因
  18. Vue 前端路由基础
  19. dos模拟器即时存档工具_手机DOS模拟器app最新版下载-手机DOS模拟器下载v1.0.76安卓版-西西软件下载...
  20. 2020低压电工模拟考试题及低压电工模拟考试题库

热门文章

  1. ContentProvider学习
  2. Linux使用mutt发送邮件
  3. SylixOS异常调试的手段
  4. 【WinHec启发录】透过Windows 10技术布局,谈微软王者归来
  5. lua游戏脚本实例源码_在nginx中使用强大的lua实现定向需求
  6. Linux后台开发系列之「11.IO 概述」
  7. Java后端WebSocket的实现
  8. webpack 通用模块(每个页面都用到的js)编译
  9. 如何将word的内容提取出来转成txt
  10. 传输层协议TCP与UDP的区别