【爬虫】基于matlab实现火车票信息爬虫

简介: 【爬虫】基于matlab实现火车票信息爬虫

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

更多Matlab仿真内容点击👇

智能优化算法  神经网络预测雷达通信 无线传感器

信号处理图像处理路径规划元胞自动机无人机 电力系统

⛄ 内容介绍

1.通用爬虫。

2.聚焦爬虫。

通用爬虫:搜索引擎用的爬虫系统。

一.目标:爬取所有网站的网页下载下来,存放到本地服务器里形成备份。

二.抓取流程:

a.首选选取一部分已有的url,把这些url放到待爬取队列

b.从队列里取出这些URL,然后解析DNS得到主机IP,然后去找个IP对应的服务器里下载HTML页面,保存到搜索引擎的服务器里。

之后把这个爬过的URL放入已爬过的队列。

c.分析这些网页内容,找出网页里其他的url连接,继续执行第二部,直到爬虫任务结束。

三.搜索引擎如何获取一个新网站的URL

1.主动提交

2.在其他网站里设置网站的外链

3.搜索引擎和DNS服务器合作,可以快速收录网站。

四,通用爬虫并不是万物皆可爬,需要遵守规则。

Robots协议:协议会指明通用爬虫可以爬取的网页权限。

Robots.txt 并不是所有爬虫的遵守,一般只有大型的搜索引擎爬虫才会遵守。

⛄ 完整代码

clc;

clear;

warning off;

[data1,str] = xlsread('\需要爬取的车次.xlsx','Sheet1');                             %导入表格中需要爬取的车次信息

str=str(:,1);

str=str(2:end);                                                                     %提取需要查询的车次信息

%% 循环查询各个车次始发站和终点站

for train = 1:size(str,1)

   str1='抓取';

   str2=strtrim(str{train});                                                       %删除字符串制表符

   str3='数据中...';

   str4=[str1,str2,str3];

   fprintf(str4)

   partURL1 = 'http://search.huochepiao.com/chaxun/resultc.asp?txtCheci=';

   partURL2 = str2;

   partURL3 = '&cc.x=0&cc.y=0';

   fullURL=[partURL1,partURL2,partURL3];

   [sourcefile, status] = urlread(sprintf(fullURL),'Charset','GBK');               %urlread函数可以读取网页

   if ~status                                                                      %判断数据是否全部读取成功

       error('出问题了哦,请检查\n')

   end

   expr1 = '<td align="center">(\w*\.?\w*)</td>';                                  %要提取的模式,()中为要提取的内容

   [stationfile, station_tokens]= regexp(sourcefile, expr1, 'match', 'tokens');    %match返回整个匹配类型,token返回()标记的位置,都为元胞类型

   % 如果能抓取到高铁信息

   if ~isempty(station_tokens)

       station_tokens=station_tokens(1:2);                                         %只截取始发站和终点站数据

       station = cell(size(station_tokens));                                       %创建一个等大的元胞数组

       for idx = 1:length(station_tokens)

           station{idx} = station_tokens{idx}{1};                                  %将始发站和终点站数据写入

       end

       sheet = 'Sheet1';                                                           %工作表名称

       left=['B',num2str(train+1)];

       right=['C',num2str(train+1)];

       range = sprintf([left,':',right]);                                          %从源文件中获取的目标数据的放置范围

       xlswrite('\需要爬取的车次.xlsx', station, sheet, range);                    %将查询到的车次始发站和终点站信息写入表格中

       fprintf('完成!\n')

   end

end

fprintf('全部完成!数据保存在站次信息表格中,请注意查看!\n')

⛄ 运行结果

⛄ 参考文献

[1]王相军. 基于众包协作的分布式爬虫研究[D]. 哈尔滨工业大学.

❤️ 关注我领取海量matlab电子书和数学建模资料
❤️部分理论引用网络文献,若有侵权联系博主删除



相关文章
|
3月前
|
传感器 机器学习/深度学习 算法
【室内导航通过视觉惯性数据融合】将用户携带的智能手机收集的惯性数据与手机相机获取的视觉信息进行融合研究(Matlab代码实现)
【室内导航通过视觉惯性数据融合】将用户携带的智能手机收集的惯性数据与手机相机获取的视觉信息进行融合研究(Matlab代码实现)
197 2
|
3月前
|
机器学习/深度学习 算法 数据可视化
PINN物理信息神经网络用于求解二阶常微分方程(ODE)的边值问题研究(Matlab代码实现)
PINN物理信息神经网络用于求解二阶常微分方程(ODE)的边值问题研究(Matlab代码实现)
353 6
|
4月前
|
机器学习/深度学习 算法 PyTorch
PINN物理信息神经网络多变量时序预测研究(Matlab代码实现)
PINN物理信息神经网络多变量时序预测研究(Matlab代码实现)
660 0
|
4月前
|
传感器 机器学习/深度学习 算法
多旋翼无人机组合导航系统-多源信息融合算法(Matlab代码实现)
多旋翼无人机组合导航系统-多源信息融合算法(Matlab代码实现)
215 3
|
6月前
|
算法 数据安全/隐私保护
基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,支持对文字,灰度图,彩色图,语音进行加解密
本项目实现了一种基于Logistic Map混沌序列的数字信息加解密算法,使用MATLAB2022A开发并包含GUI操作界面。支持对文字、灰度图像、彩色图像和语音信号进行加密与解密处理。核心程序通过调整Logistic Map的参数生成伪随机密钥序列,确保加密的安全性。混沌系统的不可预测性和对初值的敏感依赖性是该算法的核心优势。示例展示了彩色图像、灰度图像、语音信号及文字信息的加解密效果,运行结果清晰准确,且完整程序输出无水印。
基于Logistic-Map混沌序列的数字信息加解密算法matlab仿真,支持对文字,灰度图,彩色图,语音进行加解密
|
6月前
|
算法 5G 定位技术
高低频混合组网系统中基于地理位置信息的信道测量算法matlab仿真
本内容展示了一种基于地理位置信息的信道测量算法,适用于现代蜂窝系统,尤其在毫米波通信中,波束对准成为关键步骤。算法通过信号传播模型和地理信息实现信道状态测量,并优化误差提升准确性。完整程序基于Matlab2022a运行,无水印效果,核心代码配有中文注释及操作视频,适合深入学习与应用开发。
|
9月前
|
算法 安全 数据安全/隐私保护
根据空域图信息构造飞机航线图以及飞行轨迹模拟matlab仿真
本程序基于MATLAB2022A实现空域图信息的飞机航线图构建与飞行轨迹模拟。空域图是航空领域的重要工具,包含航线、导航点、飞行高度层等信息。程序通过航路网络建模(节点为机场/导航点,边为航线段)构建航线图,并依据飞行规则规划航线。飞行轨迹模拟包括确定起飞点与目的地、设置航路点及飞行高度层,确保飞行安全。完整程序运行结果无水印,适用于航空飞行计划制定与研究。
291 16
|
数据采集 存储 API
在信息时代,Python爬虫用于自动化网络数据采集,提高效率。
【7月更文挑战第5天】在信息时代,Python爬虫用于自动化网络数据采集,提高效率。基本概念包括发送HTTP请求、解析HTML、存储数据及异常处理。常用库有requests(发送请求)和BeautifulSoup(解析HTML)。基本流程:导入库,发送GET请求,解析网页提取数据,存储结果,并处理异常。应用案例涉及抓取新闻、商品信息等。
323 2
|
数据采集 前端开发 JavaScript
除了网页标题,还能用爬虫抓取哪些信息?
爬虫技术可以抓取网页上的各种信息,包括文本、图片、视频、链接、结构化数据、用户信息、价格和库存、导航菜单、CSS和JavaScript、元数据、社交媒体信息、地图和位置信息、广告信息、日历和事件信息、评论和评分、API数据等。通过Python和BeautifulSoup等工具,可以轻松实现数据抓取。但在使用爬虫时,需遵守相关法律法规,尊重网站的版权和隐私政策,合理控制请求频率,确保数据的合法性和有效性。