• 收藏

使用前应该了解的一些技术

2016/4/21 16:05:34   一孑


在掌握数据采集软件之前,我们最好可以了解一下相关的技术,这些技术可能我们并不会使用,但我们至少要知道遇到的问题是出在那个环节,这样更加有助于您的问题解决。尽可能的大白话来讲,但也许就不是很准确,请技术控们不要深究。

HTTP与HTTPS

http是超文本传输协议,可以说所有的网站都是基于http协议的,也正是因为是基于采集才成为可能。HTTP传输的是明文,也就是您可以看到从网站重返回的数据是什么。但这样对于安全性较高的交易网站很不适合,因为有可能在传输用户的交易密码。所以为了安全,就出现了HTTPS,过深的技术我们不做过多解释,我们只需要了解https是基于http的加密传输,由浏览器和网站各自的钥匙来负责解密,实现最终数据查看,这个钥匙就是我们经常说的“证书”。因此,在配置采集时,如果看到浏览器中的地址是以https打头的,那么就一定要加载证书才可以正确的采集到数据;

Url

简单理解,url就是网址,就是浏览器中地址栏中的信息,其他的不用考虑。在互联网中,一个页面都对应一个唯一的url,注意是唯一。问题又来了,很多用户都说我都翻页了可是浏览器中的地址没变啊。是啊,没变啊,所以我们需要了解另外一个内容。

GET/POST

还是那句话,过深就不讲了。简单理解,get就是所有的url信息,post就是隐藏了url的一部分信息,所以,很多时候在浏览器翻页了,地址还是没变,因为它是post,它把变化的那部分信息隐藏了。可是对于小白怎么判断是get还是post呢?我们有专门的文章来讲解。稍等请看。

Iframe/框架

虽然现在用的不多了,但还是要了解一下。我们可以把IFrame理解为就是一个框架,作用是什么?作用就是嵌入另外一个页面,这也是我们为什么推荐用户使用firefox作为采集配置的浏览器首选工具,因为在Firefox中,如果有框架,点击鼠标右键,邮件菜单就会出现关于框架的菜单信息,如果没有,则不会出现,这对于初学者极为有利。另外再补充一点:如果页面中有框架,进行了翻页操作,浏览器的地址也有可能是不变的哦。

Ajax

如果在浏览器中翻页了,浏览器中的地址不变,其既不是post,也不是框架,那就是ajax了。ajax是指一种创建交互式网页应用的网页开发技术。目的是为了提升用户的友好性,在页面无刷新的情况下来变更页面中的数据,要不页面总是刷新,刷的人还心情烦躁呢,所以就不刷了,直接更新数据。爽啊,但采集怎么搞。地址都没变,你的数据是从哪来的,我该怎么采呢。实际ajax也是一次http的请求,也会有一个唯一的url,也是是get方式,也许是post方式,但肯定是有一个url,我们找到这个url,直接针对这个url采集数据就一切ok了。

编码与解码

我们都知道计算机最早是出现在美国,是谁发明的偶也不知道,很sorry。美国人呢语言交流只有26个字母,因此计算机呢也就支持这26个字母,当然还有一些其他的符号,存储也好,展示也是,就这么多字符。所以,最初计算机是不支持中文的,压根就没有考虑过中文的问题,但国人使用就很不方便了,放到十几年前,会用电脑的人都绝对是高大上的。因此计算机就需要支持中文,怎么办?只能进行对应了,一个汉字用多个字符来替换,这样的一个过程就是编码的过程。所以我们经常会看到类似%cd%f8%c2%e7%bf%f3%b9%a4这样的内容。这就是中文编码后的样子。但问题又来了,你说这这么编就这么编啊,我还不同意的,所以,就又出现了另外一种编码,譬如:%e7%bd%91%e7%bb%9c%e7%9f%bf%e5%b7%a5,实际上面的编码都代表了“网络矿工”。于是就有了字符集的概念,你的编码规则是GB2312,我的编码的规则是UTF-8,加以区分。在同样的场景下,大家使用一样的编码规则,那么就不会出现看不懂的问题,如果使用不同的编码规则,乱码就来了。

再所以,如果采集出现乱码,多半就是字符集的问题,字符集在采集的应用中有两个场景:网址,网址中出现中文是必须要编码的,第二是网页的源码,现在的浏览器很智能了,网站也规范了,因此大部分都会正确解码,但也会有出现乱码的时候,请先看字符集是否正确。

ASP.NET

这个话题很纠结,不知是否该讲一下。最终还是放进来了。现在的网站基本都是用.Net、PHP、Java来开发的。但现在很难去判断网站的语言了,技术控除外。我们需要特别注意的是aspx的页面,如果网址中出现了aspx,或者在翻页、导航的时候看到的是_dopostback的字样,我们可以初步判断其实asp.net,此类网站都会有一个viewstate的东西,这是用于存储数据的,我们只要知道其存储数据就可以了,采集的时候,需要配置上viewstate的信息,虽然很长很长,但一定要配置上,因为我们不知道这里面是否有我们需要提交的内容。

正则

全称为正则表达式,是一个用于捕获有规则字符的规则字符串,采集的核心就是正则。在网络矿工中经常会看到正则的字样,如果出现正则字样,即意味着在此支持正则表达式。对于采集而言,我们能为这是一个必修课,尽管您可能会用小矿浏览器,直接使用可视化的方式来完成采集,但我们还是认为正则是您的必修课,只是修好修差而已。关于正则我们有专门的教程课题,会用大量篇幅来讲解,在此不再累述。


阅读:2406  评论:0  点赞:0
QQ咨询

自助客服

我要提问
QQ交流群
102085506
暗号:小矿

电话咨询
0351-7250789
18735171797