抓取网页音频(1.的基于Ajax的新闻网页动态数据的抓取方法-苏州安嘉)
优采云 发布时间: 2021-12-01 17:23抓取网页音频(1.的基于Ajax的新闻网页动态数据的抓取方法-苏州安嘉)
技术特点:
1.基于Ajax的新闻网页动态数据捕获方法的特点是如下步骤:
步骤(101):建立新闻网页抓取内容库,设置新闻网页抓取内容库的编码方式;获取待抓取新闻网页的新闻列表页面的URL地址;
步骤(102):访问要获取的新闻页面的新闻列表页面的URL地址,使用浏览器开发工具判断新闻列表页面是否通过Ajax动态加载数据;如果是,通过浏览器开发者工具找到Ajax请求的数据源;如果没有,则结束;
步骤(103):判断Ajax请求的数据源是否与步骤(101))的编码方式一致,如果不一致,则对数据源进行编码转换,然后进行步骤(104); 如果一致,则直接进行步骤(104);
步骤(104):解析数据格式:将数据源的格式解析为新闻列表页面后台语言处理的对象格式或数组格式;
步骤(105):将步骤(104)中解析的数据封装成对象或数组类型;判断是否封装成功,如果成功则直接进行步骤(106) ;否则,将数据作为字符串处理;完成后,转步骤(106);
步骤(106):遍历数据对象或数组类型并输出列表;
Step (107): 使用网络爬虫采集 step (106)获取输出列表;
步骤(108):将来自采集的数据存入数据库。
2.如权利要求1所述的基于Ajax的新闻网页动态数据抓取方法,其特征在于:
步骤(101) URL地址包括临时URL地址、重定向地址和添加时间戳参数或签名参数后访问的URL地址;
步骤(101),新闻网页抓取内容库的字段包括:新闻标题、新闻发布时间、新闻抓取时间、新闻来源、新闻内容;
步骤(101)中,新闻网页抓取的内容库的编码方式包括:UTF-8编码或GBK编码。
3.如权利要求1所述的基于Ajax的新闻网页动态数据抓取方法,其特征在于,步骤(102))的浏览器开发工具包括:谷歌浏览器开发者工具。
4.根据权利要求1所述的基于Ajax的新闻网页动态数据捕获方法,其特征在于,步骤(103)如果Ajax请求的数据源中存在特殊字符或乱码,特殊字符或乱码批量替换,转换为可处理的字符。
5.如权利要求1所述的基于Ajax的新闻网页动态数据抓取方法,其特征在于,步骤(103):如果编码方式不同,则统一统一采用编码方式UTF-8 编码方式。
6.根据权利要求1所述的基于Ajax的新闻网页动态数据抓取方法,其特征在于,步骤(102)和步骤(103))之间设置为如下:
步骤(1020):如果Ajax请求是跨域请求,通过PHP的CURL方法模拟传入页面,通过主机获取请求数据地址;
步骤(1021):如果Ajax请求是POST请求,使用PHP语言http_build_query函数模拟HTTP POST请求,获取POST请求返回的数据;
步骤(1022):如果获取不到数据内容,则利用PHP的CURL伪造传入页面访问Ajax请求的数据源;
步骤(1020))通过PHP函数修改Referer模拟域名下的请求,可以得到请求数据地址返回的结果,从而解决了无权限获取的问题跨域请求中的数据。
7.如权利要求1所述的基于Ajax的新闻网页动态数据抓取方法,其特征在于:
描述的步骤(104)如下:
步骤(1041):如果数据是JSON格式,直接进入步骤(105);
步骤(1042):如果数据是JSONP格式,则进行过滤处理;过滤处理是去除JSONP格式数据的请求头和括号,然后进行步骤(105)@ >;
步骤(1043):如果返回的内容中存在中英文单双引号使用不规范的问题,通过PHP语言的字符替换功能过滤,将特殊字符替换为空字符。
8.如权利要求1所述的基于Ajax的新闻网页动态数据抓取方法,其特征在于:
步骤 (105):
如果步骤(104))解析的数据不是键值对类型,则将步骤(104))解析的数据封装为数据对象,
如果步骤(104))解析的数据为键值对类型,则将步骤(104))解析的数据转换为数组类型。
9.如权利要求1所述的基于Ajax的新闻网页动态数据抓取方法,其特征在于:
步骤(106))的输出列表包括:新闻标题、新闻发布时间、新闻爬取时间、新闻来源、新闻内容、新闻链接。
10. 一个基于Ajax的新闻网页动态数据抓取系统,其特点是:
建库模块:建立新闻网络爬取内容库,设置新闻网络爬取内容库的编码方式;获取要爬取的新闻网页的新闻列表页的URL地址;
访问模块:访问要获取的新闻页面的新闻列表页面的URL地址,使用浏览器开发工具判断新闻列表页面是否通过Ajax动态加载数据;如果是,通过浏览器开发者工具Source找到Ajax请求的数据;如果没有,结束;
判断模块:判断Ajax请求的数据源是否与步骤(101) @4); 如果一致,直接进入步骤(104);
解析数据格式模块:将数据源的格式解析为新闻列表页面后台语言处理的对象格式或数组格式;
封装模块:将解析后的数据封装成对象或数组类型;判断是否封装成功,如果成功,直接进入输出模块;否则,将数据作为字符串处理;完成后进入输出模块;
输出模块:遍历数据对象或数组类型的输出列表;使用网络爬虫获取的输出列表采集;将采集收到的数据存入数据库。